vuex和localStorage/sessionStorage区别

1.最重要的区别:vuex存储在内存,localstorage则以文件的方式存储在本地

2.应用场景:vuex用于组件之间的传值(响应式的——个人理解为页面上的数据会自动变化),localstorage则主要用于不同页面之间的传值(其他页面更新数据了,当前页面要刷新才能相应更新,非响应式的)

3.永久性:当刷新页面时vuex存储的值会丢失(存在内存里的,刷新了,当然会丢失),localstorage不会。

注:很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,
但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,local torage无法做到.

针对第3点,vuex就是一个“提升变量”的一个工具,它是将state当做全局变量存储。F5刷新页面之后自然随着页面的刷新重新初始化state。
目前想让浏览器记住数据,一般都会采用cookie或者localStorage、sessionStorage等方法

cookie:可设置失效时间,没有设置的话,默认是关闭浏览器后失效。最大只能存4kb的数据。
localStorage:除非被手动清除,否则将会永久保存。最大可以存储 5MB的数据。
sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。最大可以存储 5MB的数据。
localStorage可以用来跨页面传递参数,sessionStorage用来保存一些临时的数据,防止用户刷新页面之后丢失了一些参数。