Vuex持久化插件,同时配置sessionStorage,localStorage两种方式

本文主要讲解使用vuex-persistedstate持久化插件过程中,如果想同时配置sessionStorage,localStorage两种方式该如何处理;
插件详细使用教程,请浏览另一篇文章:https://blog.csdn.net/qq_42205731/article/details/99979034
 

先贴代码

plugins: [createPersistedState({ // localStorage持久化处理
    reducer(cache) {
      return {
        teachersSpace: cache.teachersSpace
      }
    }
  }), createPersistedState({ // sessionStorage持久化处理
    storage: window.sessionStorage,
    reducer(cache) {
      return {
        user: cache.user,
        permission: cache.permission,
        dictionary: cache.dictionary
      }
    }
  })]

之前认识的小伙伴有个疑问,配置两个不会冲突吗?
我简单讲解一下:
vuex提供了一个插件配置选项:plugins
  第一: 
     plugins
           类型: Array
           插件配置为选项为数组,肯定是可添加多个方法
  第二:
      在persistedstate文档中对于storage选项有说明,使用哪种持久化方案去创建实例:
             默认:localStorage方式;
             可配置:sessionStorage 方式;


      插件引入,调用时创建了两个实例(方法):
            createPersistedState({storage: window.sessionStorage})
            createPersistedState({storage: window.localStorage})
     对于vuex plugins选项来说,相当于配置了两个插件,所以并不会存在冲突或无法使用的情况;
       

你可能感兴趣的:(vue.js)