前提:大家都知道vuex真的数据共享是不持久的,例如登录后一刷新,state中存的token就会消失,导致你需要再次进行登录操作
在这给大家列出几种解决方案:
第一种(也是一些项目中常使用的):使用缓存,利用缓存cookies,在每次登录的时候将token存入state的同时将token进行缓存
例:
第二种(我新了解的):也就是利用一个插件,vuex-persistedstate,一个实现持久化的工具
原理:vuex-persistedstate做了这样的事情,它帮我们将store里面的state映射到了本地环境中。这样一来,我通过提交mutation改变的state,会动态的去更新local里面对应的值。
大家可以自己去试试(自行百度文档进行配置就行)
第三种:就是最直接的直接自己将数据存入到localStorage (不推荐):会有很多问题,做不到真正的响应式,而且比较麻烦