如何持久化存储你的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代码实现

    前端在el-dialog中嵌套多个el-dialog代码实现

    最近使用vue+elementUI做项目,使用过程中很多地方会用到dialog这个组件,有好几个地方用到了dialog的嵌套,下面这篇文章主要给大家介绍了关于前端在el-dialog中嵌套多个el-dialog代码实现的相关资料,需要的朋友可以参考下
    2024-01-01
  • 基于Vue3和Canvas实现一个水印工具

    基于Vue3和Canvas实现一个水印工具

    在公众号运营和内容创作中,图片版权保护是一个非常重要的问题,今天我分享一个基于Vue3图片水印添加的源码和实现步骤,即使你是前端新手也能轻松掌握,需要的朋友可以参考下
    2025-10-10
  • vue关于data变量定义的问题

    vue关于data变量定义的问题

    这篇文章主要介绍了vue关于data变量定义的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue+jsplumb实现工作流程图的项目实践

    vue+jsplumb实现工作流程图的项目实践

    本文主要介绍了vue+jsplumb实现工作流程图的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • vue父子传值,兄弟传值,子父传值详解

    vue父子传值,兄弟传值,子父传值详解

    这篇文章主要介绍了Vue传值-三种常用传值示例,主要介绍了父组件向子组件进行传值,子组件向父组件传值和非父子组件进行传值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • vue中的ref使用及说明

    vue中的ref使用及说明

    文章介绍了Vue中`ref`的的三种用法,以及`attrs`父子组件之间值传递的方法,此外,还讲解了`v-model`、`props`和`$attrs`的的使用问题,以及`sync`的的简单写法,最后提醒大家在使用这些语法糖时要确保代码的正确性和可易的性
    2026-05-05
  • 详解解决Vue相同路由参数不同不会刷新的问题

    详解解决Vue相同路由参数不同不会刷新的问题

    这篇文章主要介绍了详解解决Vue相同路由参数不同不会刷新的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题

    解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题

    这篇文章主要介绍了解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue项目中对index.html中BASE_URL的配置方式

    Vue项目中对index.html中BASE_URL的配置方式

    这篇文章主要介绍了Vue项目中对index.html中BASE_URL的配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 详解TypeScript+Vue 插件 vue-class-component的使用总结

    详解TypeScript+Vue 插件 vue-class-component的使用总结

    这篇文章主要介绍了TypeScript+Vue 插件 vue-class-component的使用总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02

最新评论