为什么token要同时存在vuex和localstorage中

vuex存储数据的特点是数据统一全局管理

一旦数据在某组件更新,其他所有组件的数据都会同步更新。也就是说它是响应式的。

但是如果数据只存在vuex中,刷新页面,vuex中的数据会重新初始化,导致数据丢失,恢复到原来的状态。

localstorage存储数据的特点是永久性存储。但他不是响应式的。当某个组件数据修改的时候,其他组件无法同步更新

另外vuex存储在内存中的,而localstorage是本地存储,是存储到磁盘里的。从内存中读取数据速度是远高于磁盘的。所以我们把数据存在vuex中,可以提高获取token的速度,从而提高性能。

通常我们在实际项目中都是结合这两者使用,拿到token后,把token存储到localstorage和vuex中。vuex保证数据在各组件间同步更新如果刷新页面数据丢失,我们可以从localstorage获取。通过结合这两者,从而实现数据的持久化。

参考资料:前端面试追问:为什么token要同时存在vuex和localStorage中?

你可能感兴趣的:(前端,前端,javascript,开发语言)