vuex持久化插件 vuex-persistedstate


 

vuex是在vue项目中常用状态管理组件,但是使用过vuex的小伙伴都知道,当页面刷新时,vuex的值会被初始化,但我们并不想要这样的效果。一般不常更新的状态,固定的信息类的数据之类,我们更希望能够固化到本地,减少无用的接口访问,以及更佳的用户体验。

 

解决方法当然是缓存起来,于是便有了 vuex-persistedstate 的存在

 

安装

1 npm install --save vuex-persistedstate

 

配置使用

在vuex初始化时候,作为组件引入

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

 

自定义存储

 vuex-persistedstate 默认使用  localStorage  来缓存数据,当我们想用其它方式缓存数据时

 

  • 使用  sessionStorage 缓存数据
1 plugins: [
2   persistedState({ storage: window.sessionStorage })
3 ]

 

  • 使用  cookie 缓存数据

  

 1 import persistedState from 'vuex-persistedstate'
 2 import Cookies from 'js-cookie'
 3 
 4 export default new Vuex.Store({
 5   // ...
 6   plugins: [
 7     persistedState({
 8       storage: {
 9         getItem: key => Cookies.get(key),
10         setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),
11         removeItem: key => Cookies.remove(key)
12       }
13     })
14   ]
15 })

 

参考文献

 

posted @ 2021-02-23 15:13  地yu荒冢  阅读(530)  评论(0编辑  收藏  举报