为什么当我向vuex持久化状态添加安全ls时,vuex信息没有以前的会话数据



以前,当我没有配置安全ls时,如下所示:https://codesandbox.io/s/7l9wb

在我的本地存储中,在"vuex"密钥中,我或多或少有以下

{authUser:{name:'My name', authenticated: true}}

在vuex持久状态:中配置了安全sl之后

storage: {
getItem: key => ls.get(key),
setItem: (key, value) => ls.set(key, value),
removeItem: key => ls.remove(key)
}

当我重新加载页面时,页面显示为空白,因为vuex值​​已重置。如果我评论出安全sl设置:

/*storage: {
getItem: key => ls.get(key),
setItem: (key, value) => ls.set(key, value),
removeItem: key => ls.remove(key)
}*/

然后我再次刷新页面,localStorage值​​是:

{authUser:{name: null, authenticated: false}}

请注意,名称为空,经过身份验证的为假

这种行为对我来说似乎很奇怪,只有当用户登录并应用安全sl之前才会发生,因为如果我在隐姓埋名模式下使用新会话和安全sl的配置进行操作,我就不会有任何问题。

似乎是vuex持久存储的问题。

无论如何,它已经被弃用,所以停止使用它。您可以使用Vuex.subscribe((:https://www.mikestreety.co.uk/blog/vue-js-using-localstorage-with-the-vuex-store/

最新更新