vuex和localstorage、sessionStorage存储方式及区别

vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。官网:https://vuex.vuejs.org/zh/

在这里插入图片描述

//提供唯一的公共数据源,所有共享的数据统一放到store的state进行储存,相似与data。
import Vue from 'vue'
import Vuex from 'vuex'
 
Vue.use(Vuex)
 
export default new Vuex.Store({
  state: {
    name:"张三",
    age:12
  },
})

localstorage

在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。

特点:存储在 localStorage 的数据可以长期保留。localStorage的生命周期是永久的,关闭页面或者浏览器之后localStorage中的数据也不会消失。localStorage删除数据要手动删除,否则数据永远不会消失。

存储内容的类型:localStorage只能存储字符串类型,对于复杂对象可以使用ECMAScript对象的stringify和parse处理。

sessionStorage

sessionStorage都保存在客户端,一般不与服务器进行通信交互。sessionStorage存储数据大小一般是5MB。

sessionStorage的生命周期仅在当前会话有效。sessionStorage引入了"浏览器窗口的概念"。sessionStorage在同源窗口中始终存在数据,只要浏览器窗口没有关闭,刷新或者重新进入页面数据依然存在。关闭浏览器窗口后数据会被删除。再次独立打开同一个窗口同一个页面,sessionStorage也是不一样。

特点:sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。

存储内容的类型:sessionStorage只能存储字符串类型,对于复杂对象可以使用ECMAScript对象的stringify和parse处理。

区别

1、vuex存储在内存;
2、localstorage(本地存储)则以文件的方式存储在本地,永久保存;
3、sessionstorage( 会话存储 ),临时保存;
4、当刷新页面(这里的刷新页面指的是F5刷新,属于清除内存了)时vuex存储的值会丢失,sessionstorage页面关闭后存储的数据就被清除掉了,而localstorage存储的数据则不会被清理掉。

推荐文章:
vuex和localstorage,sessionStorage存储方式,及区别
本地存储三种方式cookie、localStorage、sessionStorage的详细介绍
Vuex详解,一文彻底搞懂Vuex

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`$store.state` 是 Vuex存储数据的地方,可以看作是一个全局的状态管理器,它可以存储应用程序的所有状态,而且所有组件都可以访问和修改它。 `sessionStorage` 和 `localStorage` 是浏览器提供的 Web 存储机制,用于在浏览器中存储数据。它们的区别在于数据的生命周期不同,`sessionStorage` 存储的数据在浏览器会话期间有效,当用户关闭浏览器窗口后,数据就会失效;而 `localStorage` 存储的数据则会一直存在,即使用户关闭浏览器窗口,数据也不会丢失,除非用户手动清除。 因此,`$store.state` 和 `sessionStorage`&`localStorage` 的区别在于: 1. `$store.state` 存储的数据是全局的,可以在整个应用程序中访问和修改,而 `sessionStorage`&`localStorage` 存储的数据只能在当前浏览器窗口中访问和修改。 2. `$store.state` 存储的数据是在内存中存储的,应用程序重新加载后数据会丢失,而 `sessionStorage` 存储的数据在浏览器会话期间有效,`localStorage` 存储的数据则会一直存在。 3. `$store.state` 存储的数据可以在应用程序中进行响应式处理,而 `sessionStorage`&`localStorage` 存储的数据不支持响应式处理。 因此,在实际开发中,我们需要根据具体的需求选择合适的存储方式。如果需要在整个应用程序中共享数据,并且数据需要支持响应式处理,那么就应该选择 `$store.state`;如果需要在浏览器窗口中存储数据,并且数据需要在浏览器会话期间有效,那么就应该选择 `sessionStorage`;如果需要在浏览器中长期存储数据,那么就应该选择 `localStorage`。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值