vuex存储和本地存储(localstorage、sessionstorage)的区别

区别及适用场景

  1. 区别:
	vuex存储在内存;
 	localstorage(本地存储)则以文件的方式存储在本地,永久保存;
 	sessionstorage( 会话存储 ) ,临时保存。
 	localStorage和sessionStorage只能存储字符串类型,
 	对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理。

2.应用场景:vuex用于组件之间的传值,localstorage则主要用于不同页面之间的传值。

3.永久性:当刷新页面时vuex存储的值会丢失,localstorage不会。
注:很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage无法做到响应式,vuex可以绑定数据响应式。

Vuex数据状态持久化的使用场景

1、购物车
比如你把商品加入购物车后,没有保存到后台的情况下,前端来存,就可以通过这种方式vuex+localStorage(sessionStorage)。

2、会话状态
授权登录后,token就可以用Vuex+localStorage(sessionStorage)来存储。

3、一些不会经常改变的数据
比如城市列表等(当前也要留下可以更新的入口,比如版本号)

小提示:localStorage.setItem(key, String), set的值必须是字符串,如果你的数据是对象都需要先行转换(JSON.stringify(xxx)),取出时localStorage.getItem(key),取出后的字符串可以通过JSON.parse(xxx)转回对象。

  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vuex本地存储有以下几点区别: 1. 实质的区别vuex存储的是状态,而存储内存本地存储(如localStorage)是浏览器提供的接口,用于以文件的形式将数据存储在本地。 2. 存储方式:vuex将状态存储内存,而本地存储将数据以文件的形式存储在本地。 3. 永久性:当刷新页面时,vuex存储的值会丢失,而本地存储(如localStorage)不会丢失,数据可以永久保存。 4. 数据类型:vuex可以存储复杂的对象或数组等数据类型,而本地存储只能存储字符串类型的数据。对于复杂的对象,可以使用JSON对象的stringify方法将其转换为字符串存储,并使用parse方法将其解析回对象。 5. 使用场景:vuex主要用于组件之间的传值,而本地存储(如localStorage)主要用于不同页面之间的传值。在购物车、会话状态(如token)以及一些不经常改变的数据(如城市列表)等场景下,可以使用vuex本地存储来进行数据状态持久化。 总结而言,vuex主要用于管理组件之间的状态,而本地存储主要用于在浏览器永久保存数据。虽然本地存储可以替代vuex在某些场景下进行数据存储,但是对于需要实现数据响应式的情况以及多个组件共享同一数据源的情况,vuex更为适合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vuex存储本地存储区别](https://blog.csdn.net/qq_51781439/article/details/120866904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [vuex存储本地存储(localstoragesessionstorage)的区别](https://blog.csdn.net/weixin_43758377/article/details/109205395)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值