vuex-persistedstate怎么持久化state数据
时间: 2024-04-30 16:18:25 浏览: 100
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
5星 · 资源好评率100%
`vuex-persistedstate` 是一个 Vuex 插件,它可以将 Vuex store 中的数据持久化到本地存储中,如 localStorage 或 sessionStorage。下面是一些使用 `vuex-persistedstate` 来持久化 state 数据的示例代码:
1. 安装 `vuex-persistedstate`:
```bash
npm install vuex-persistedstate
```
2. 在 Vuex store 中引入 `vuex-persistedstate`:
```javascript
import createPersistedState from "vuex-persistedstate";
const store = new Vuex.Store({
// ...
plugins: [createPersistedState()]
});
```
3. 在 `createPersistedState` 中传入一个配置对象,以指定要持久化的 state 属性和存储方式:
```javascript
import createPersistedState from "vuex-persistedstate";
const store = new Vuex.Store({
state: {
count: 0,
user: {
name: "Jack",
age: 20
}
},
mutations: {
increment(state) {
state.count++;
},
setUser(state, payload) {
state.user = payload;
}
},
plugins: [
createPersistedState({
key: "my-app",
paths: ["count", "user"],
storage: window.localStorage
})
]
});
```
在上面的示例中,我们将 `count` 和 `user` 这两个 state 属性持久化到 localStorage 中,并为该存储区域指定了一个键名为 `my-app`。
现在,每次 Vuex store 的 state 发生变化时,`vuex-persistedstate` 都会将指定的 state 属性保存到本地存储中,在页面刷新后,这些数据可以被恢复到 Vuex store 中。
阅读全文