Vuex 和浏览器缓存

发布于 2022-09-07 03:37:10 字数 226 浏览 22 评论 0

Vuex 的主要作用是用来 共享和管理数据,那为什么不直接使用浏览器缓存呢?

Vuex和浏览器缓存策略的根本区别是什么?

Vuex state 仓库中的数据流是单向同步的,那为什么可以在action 中进行异步操作?

         比如在action 中发起请求,请求成功后再发起commit?
         

请求各位大神解析啊!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风吹短裙飘 2022-09-14 03:37:10

首先,要区别 vuex 和 浏览器缓存 的区别。

vuex 的设计是将数据存在一个对象树的变量中,我们的应用(vue应用)从这个变量中取数据,然后供应用使用,当将当前页面关闭, vuex 中的变量会随着消失,重新打开页面的时候,需要重新生成。
而,浏览器缓存(cookie,localstorage等)是将数据存到浏览器的某个地方,关闭页面,不会自动清空这些数据,当再次打开这个页面时,还是能取到之前存在浏览器上的数据(cookie,localstorage等)。
要使用 vuex 还是使用浏览器缓存,要看具体的业务场景。比如:像用户校验的 token 就可以存在 cookie 中,因为用户再次登录的时候能用到。而像用户的权限数据,这些是有一定安全性考虑,且不同用户的权限不同,放在 vuex 中更合理,用户退出时,自动销毁。

其次,vuex 中的 state 是单向的,也可以异步操作,这两个没有冲突。

vuex 中的 state 的设计思路是保证数据的一致性和连续性,而让 state 中的值只能通过 action 来发起 commit,进而改变 state 中的值。
而,action 中是 同步 还是 异步,都是单向地改变 state 中的值。

孤星 2022-09-14 03:37:10

这么说吧,存缓存的话我轻轻松松就给你改了,也可以轻轻松松知道你都存了什么,vuex的话,就没那么容易了

还有一个就是存缓存的话刷新浏览器缓存不会被重置,vuex会被重置

眼泪也成诗 2022-09-14 03:37:10

缓存是存在磁盘上面的,vuex里面存的对象是在内存里面的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文