在使用Pinia进行状态管理时,只要页面刷新,全局变量就会丢失。经过查找,找到了一篇不错的Pinia指导文章,感谢大佬!指路:
https://jishuin.proginn.com/p/763bfbd71cbf
具体解决方案就是:
使用pinia-plugin-persist持久化状态管理插件,它会默认把你需要持久化的数据缓存在Session Storage里。使用方法:
第一步:安装pinia-plugin-persist插件
npm i pinia-plugin-persist --save
第二步:导入pinia持久化插件
import piniaPluginPersist from 'pinia-plugin-persist'
const store = createPinia()
store.use(piniaPluginPersist)
第三步:在你需要缓存的store 里开启 persist
export const useUserStore = defineStore({
id: 'user',
state: () => {
return {
name: '张三'
}
},
// 开启数据缓存
persist: {
enabled: true
}
})
简单通过以上步骤,就可实现整个store的缓存。当然pinia-plugin-persist还可以将数据缓存在Local Storage中,并且只缓存部分数据,在这篇文章中都有全面的介绍。