本质上的区别
- localStorage是浏览器的接口,可以存储数据到客户端
- sessionStorage也是浏览器的接口,针对一个session进行数据存储
- vuex存储的是状态(本质上也是数据),存储在内存上
时效性上
- localStorage没有时间限制的数据存储,永久的
- sessionStorag当前用户关闭浏览器窗口后,数据会被删除
- vuex当刷新页面时,vuex存储的值会丢失
应用场景上
- localStorage则主要用于页面之间的传值,即跨页面使用
- sessionStorage仅供当前页面使用
- vuex用于组件之间的传值
说明
- 对于不变的数据可以用localStorage(sessionStorage )可以代替
- 当两个组件共用一个数据源时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localStorage无法做到,因为localStorage(sessionStorage )仅仅就是数据而已,vuex是状态管理,能够实现组件间的通信
- 当然面试被问比较多的一个问题是,如何持久化vuex状态,其实最简单的实现就是结合localStorage了
最后
如有不足,望指正,谢谢