• 博客园Logo
  • 会员
  • 周边
  • 捐助
  • 新闻
  • 博问
  • 闪存
  • 赞助商
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 简洁模式 ... 退出登录
    注册 登录
技术杨的博客园
希望每一次的努力都能得到自己想要的
博客园    首页    新随笔    联系   管理    订阅  订阅

vuex和浏览器【sessionStorage,localStorage ..】 得区别


1.Vuex的主要作用是用来共享和管理数据,那为什么不直接使用浏览器缓存呢?
2.Vuex和浏览器缓存策略的根本区别是什么?
3.Vuex,state仓库中的数据流是单向同步的,那为什么可以在action中进行异步操作?
4.比如在action中发起请求,请求成功后再发起commit?

    摘要:

          首先,要区别vuex和浏览器缓存的区别。vuex的设计是将数据存在一个对象树的变量中,我们的应用(vue应用)从这个变量中取数据,然后供应用使用,当将当前页面关闭,vuex中的变量会随着消失,重新打开页面的时候,需要重新生成。而,浏览器缓存(cookie,localstorage等)是将数据存到浏览器的某个地方,关闭页面,不会自动清空这些数据,当再次打开这个页面时,还是能取到之前存在浏览器上的数据(cookie,localstorage等)。要使用vuex还是使用浏览器缓存,要看具体的业务场景。比如:像用户校验的token就可以存在cookie中,因为用户再次登录的时候能用到。而像用户的权限数据,这些是有一定安全性考虑,且不同用户的权限不同,放在vuex中更合理,用户退出时,自动销毁。其次,vuex中的state是单向的,也可以异步操作,这两个没有冲突。vuex中的state的设计思路是保证数据的一致性和连续性,而让state中的值只能通过action来发起commit,进而改变state中的值。而,action中是同步还是异步,都是单向地改变state中的值。

posted @ 2022-10-28 17:13  技术杨  阅读(64)  评论(0)  编辑  收藏  举报
会员力量,点亮园子希望
刷新页面返回顶部
Copyright © 2024 技术杨
Powered by .NET 8.0 on Kubernetes