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

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  技术杨  阅读(84)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3