如何持久化存储你的Pinia状态
更新时间:2025年07月27日 15:21:11 作者:清风徐来QCQ
createPersistedState是Pinia插件,用于持久化存储状态数据,通过localStorage/sessionStorage实现页面刷新后数据保留,适用于登录信息、主题设置等场景,需在main.ts注册并配置store开启
createPersistedState 是 Pinia 的一个插件,用于持久化存储你的 Pinia 状态(state),让数据在页面刷新或关闭后依然保留(通常存储在 localStorage 或 sessionStorage)。
作用
- 让用户登录信息、主题设置等在刷新页面后不会丢失。
- 自动把 Pinia 的 state 存到本地存储,再自动恢复。
使用方法
- 安装插件(如果没装):
npm install pinia-plugin-persistedstate
- 在 main.ts 里引入并注册:
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)
app.use(pinia)- 在你的 store 里开启持久化:
export const useUserStore = defineStore('user', {
state: () => ({
username: '',
token: ''
}),
persist: true // 一行即可开启持久化
})结果
这样你在 Pinia 里的数据就会自动保存到 localStorage,刷新页面后依然存在。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
前端在el-dialog中嵌套多个el-dialog代码实现
最近使用vue+elementUI做项目,使用过程中很多地方会用到dialog这个组件,有好几个地方用到了dialog的嵌套,下面这篇文章主要给大家介绍了关于前端在el-dialog中嵌套多个el-dialog代码实现的相关资料,需要的朋友可以参考下2024-01-01
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
这篇文章主要介绍了解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11
Vue项目中对index.html中BASE_URL的配置方式
这篇文章主要介绍了Vue项目中对index.html中BASE_URL的配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06
详解TypeScript+Vue 插件 vue-class-component的使用总结
这篇文章主要介绍了TypeScript+Vue 插件 vue-class-component的使用总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-02-02


最新评论