Vue2面试题:说一下对vuex的理解?

2023-12-15 22:47:49

?

? ? 五种状态:

? ? ? ? state: 存储公共数据? ?this.$store.state

? ? ? ? mutations:同步操作,改变store的数据? this.$store.commit()

? ? ? ? actions: 异步操作,让mutations中的方法能在异步操作中起作用? ?this.$store.dispatch()

? ? ? ? getters: 计算属性? ?this.$store.getters

? ? ? ? modules: 子模块?

? ? 使用场景:

? ? ? ? 用户信息、菜单信息、购物车信息

? ? 解决vuex页面刷新数据丢失问题的方式:

? ? ? ? 办法一:将vuex中的数据直接保存到浏览器缓存中(sessionStorage、localStorage、cookie)? ?

? ? ? ? 办法二:在页面刷新的时候再次请求远程数据,使之动态更新vuex数据? ?

? ? ? ? 办法三:在某一组件向后台请求远程数据保存在vuex,并且在页面刷新前将vuex的数据保存至sessionStorage。在另一组件优先使用vuex内的数据,只有刷新后还没取到后台数据,才会从sessionStorage里取。

? ? ? ? ? ? 优点:每次刷新页面更新sessionStorage,确保数据的安全性。刷新后还没取到后台数据就从sessionStorage中取,防止网络延迟、数据量大时vuex数据丢失问题。

文章来源:https://blog.csdn.net/m0_74802419/article/details/135026040
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。