本文主要讲解使用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<Function>
插件配置为选项为数组,肯定是可添加多个方法
第二:
在persistedstate文档中对于storage选项有说明,使用哪种持久化方案去创建实例:
默认:localStorage方式;
可配置:sessionStorage 方式;
插件引入,调用时创建了两个实例(方法):
createPersistedState({storage: window.sessionStorage})
createPersistedState({storage: window.localStorage})
对于vuex plugins选项来说,相当于配置了两个插件,所以并不会存在冲突或无法使用的情况;