最近尝试用vue做项目,使用了vuex管理状态,但是发现一个问题:
就是页面刷新后vuex里面的数据就清空掉了,所以基本上我在vuex里面存的数据都要在浏览器里面存一次,那么问题来了,请问为什么不直接就把数据存到浏览器里面呢,还要存到vuex里面多此一举?
Vuex 不仅仅是用来不同组件间的通信的。要用Vuex首先要理解前端状态是什么?
想象一个场景,用户在购买商品填写了很多信息,这时候需要填写地址。进入一个新的页面创建地址,然后回到原来页面要求用户填写的信息甚至打开的下拉框还在。
”下拉框是否打开“ 是一个状态。
在业务上有要求时,状态是不能丢的。Vuex 可以帮你管理这个状态,然后通过Vue还原到当时的场景。
上面是应该使用Vuex的场景。有几种场景是不需要使用Vuex的。
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
与数据存储不同,Vuex 解决的主要问题是不同组件间的通信,以达到对当前页面数据状态的管理。
既然是状态,它不会是持久化的,在页面刷新或关闭后,数据自动丢失。
如果组件比较少,完全可以不用 Vuex。
而且,目前有很多基于 Vuex 的插件,结合 localStorage、sessionStorage、IndexDB 等,可以达到数据持久化的目的。