想在登录成功后将返回的信息保存到logindata里代码如下定义了一个actions异步请求的方法在组件里通过dispatch触发,登录成功后我先将登录状态保存到了localstorage里,然后获取里面的数据保存到logindata里,最后再将state里的所有数据保存到localstorage里,但是一刷新还是全部清空了,请问这是为何。最后明明都保存到localstorage里了,有没有什么办法能让他刷新不清空vuex
2 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
首先一刷新所有JS代码都重新执行了,所以vuex中的state肯定也是重置的,你的想法没错,把从远端获取到的数据存到浏览器本地储存,但是我好像没看你初始化vuex的一步,就是应用重启时应该把本地存储里的数据放到vuex中的state里。
很简单
const localLoginData = localStorage.getItem('data')
const store = new Vuex.Store({
state: {
logindata: localLoginData ? JSON.parse(localLoginData) : {}
}
})
牛魔王的故事
TA贡献1830条经验 获得超3个赞
添加回答
举报
0/150
提交
取消