vue学习之------vuex通俗易懂篇(四)

vuex与localStorage的异同是什么?

(1)刷新页面时

vuex:由于vuex中的数据是存储在运行内存中的,所以刷新页面,会重新加载vue实例,vuex中的数据会初始化,导致数据丢失。

localStorage:localStorage中的数据是永久性存储的,即使浏览器关闭,数据也不会被删除。

【类比:sessionStorage中的数据会在浏览器关闭时自动删除】

(2)响应式

vuex:vuex中的数据是响应式的,一旦某组件中的数据更新,其他组件中的数据也会同步更新。

localStorage:不是响应式的。

(3)存储数据的位置

vuex:vuex中的数据存储在运行内存中。

localStorage:localStorage中的数据存储在磁盘中。

【从内存中读取数据的速度是远高于磁盘的,所以使用vuex能提升性能和用户体验。】

vuex和localStorage怎么配合使用?

vuex可以保证响应式的效果,运行速度快,存储数据多少不会影响速度;localStorage保证数据一直在。

例子:把token同时存储在localStorage和vuex中。

(1)登陆

第一次登陆,把token存储在localStorage和vuex中;

第二次登陆时,可以从localStorage中读取登陆状态,自动登陆,并且需要把状态再次同步到vuex中,以供其余页面功能使用。

(2)刷新页面

如果用户刷新了页面,又能从localStorage中恢复数据,并同步到vuex中。

(3)退出登陆

如果退出登陆,则会清空token,vuex的响应式特点会同步更新token的值,其余页面功能和权限也会同步更新。

 

posted @ 2022-08-20 22:59  程序员冒冒  阅读(108)  评论(0编辑  收藏  举报