本文介绍如何利用 `vuex-persistedstate` 插件将 vuex 中的 `isregistered` 等关键状态自动同步至 `localstorage`,确保页面刷新后用户登录/注册状态不丢失,无需手动读写 localstorage。
在 Vue 项目中,仅靠 Vuex 默认行为无法跨页面刷新保持状态——因为 Vuex 的 state 是纯内存对象,浏览器刷新即重置。若希望用户注册或登录状态(如 isRegistered: true)在刷新后依然生效,必须将状态持久化到浏览器存储机制中。虽然可手动在 mutations 中调用 localStorage.setItem()、并在 store 初始化时读取,但这种方式易出错、重复冗余,且难以维护。
推荐方案是使用成熟的插件 vuex-persistedstate,它专为 Vuex 设计,能自动将指定模块或整个 state 序列化并持久化到 localStorage(默认),同时在应用启动时自动还原,与 Vuex 生命周期无缝集成。
✅ 快速接入步骤
-
安装插件