采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
既然state里的数据是从缓存里读取的,那为什么mutation里面setToken 和setUserInfo 还有存在的必要吗? action 里直接调用 saveToken 这么操作不好吗?请老师讲解下。
你好修改state的唯一方式是通过mutation,这是为了保持清晰的数据流。如果没有的话那么state就不可变了,如果要切换用户那么无法实现了
老师,我的意思是 async login(context, userProfile) { // 用户数据 const rawData = JSON.parse(userProfile.rawData); const { data: res } = await login({ signature: userProfile.signature, iv: userProfile.iv, nickName: rawData.nickName, gender: rawData.gender, city: rawData.city, province: rawData.province, avatarUrl: rawData.avatarUrl }); // 登录逻辑 this.commit('user/saveToken', res.token); this.commit('user/saveUserInfo', JSON.parse(userProfile.rawData)); }, 绕过mutation 里面的setToken和setUserInfo先将数据保存操缓存,然后state里直接读取缓存,这样会有影响吗?
这样是有问题的。state 值变化有两个地方。 第一是初始化时,这个会在刷新页面后初始化。 第二个是在页面不刷新时修改,此时只应该通过mutation修改
登录后可查看更多问答,登录/注册
专门为小程序0基础学员而设,让你拥有能上线的作品
1.6k 3
737 4
1.1k 12
13.8k 12
624 10