美文网首页前端开发那些事儿
Vuex持久化插件(vuex-persistedstate)-解

Vuex持久化插件(vuex-persistedstate)-解

作者: 刘其瑞 | 来源:发表于2021-02-05 15:44 被阅读0次

vuex可以进行全局的状态管理,但刷新后刷新后数据会消失,但是有时候我们并不希望如此。例如全局相关的,如登录状态、token、以及一些不常更新的状态等,。怎么解决呢,我们可以结合本地存储做到数据持久化,也可以通过插件-vuex-persistedstate。

安装起步

npm install vuex-persistedstate --save

引入及配置

在store下的index.js中

import persistedState from 'vuex-persistedstate'
export default new Vuex.Store({
    // ...
    plugins: [persistedState()]
})

默认存储到localStorage
如果使用了modules默认存储所有modules

想要存储到sessionStorage,并自定义存储,例子配置如下

import createPersistedState from 'vuex-persistedstate';

const createPersisted = createPersistedState({
  storage: window.sessionStorage,
  key: "myVuex",
  reducer(val) {
    return {
      // 只储存state中的某些字段 注意:键值对名字要一致
      user: val.user,
      person: val.person
    }
  }
})
const createPersisted2 = createPersistedState({
  storage: window.localStorage,
  key: "myVuex2",
  reducer(val) {
    return {
      // 只储存state中的某些字段 注意:键值对名字要一致
      tagsView: val.tagsView,
    }
  }
})
const store: Store<any> = new Vuex.Store({
  // ...
  plugins: [createPersisted, createPersisted2]
});
export default store;

相关文章

网友评论

    本文标题:Vuex持久化插件(vuex-persistedstate)-解

    本文链接:https://www.haomeiwen.com/subject/bhfgtltx.html