当前位置: 首页 > news >正文

Pinia Plungin Persistedstate

入门指南 | Pinia 持久化状态插件 — Getting Started | Pinia Plugin Persistedstate

安装依赖

npm i pinia-plugin-persistedstate

添加插件(quasar项目stores/index.js)

import { defineStore } from '#q-app/wrappers'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
/** If not building with SSR mode, you can* directly export the Store instantiation;** The function below can be async too; either use* async/await or return a Promise which resolves* with the Store instance.*/export default defineStore((/* { ssrContext } */) => {const pinia = createPinia()// You can add Pinia plugins here// pinia.use(SomePiniaPlugin)pinia.use(piniaPluginPersistedstate)return pinia
})

启用持久化(stores/date-store.js)

import { defineStore, acceptHMRUpdate } from 'pinia'// 定义一个名为 'date' 的 Pinia 存储
export const useDateStore = defineStore('date', {state: () => ({ // 存储的初始状态dateStr: "2024-08-15 23:44"}),getters: { // 存储的计算属性(当前为空)}, actions: { // 存储的方法updateDate(newDateStr) { // 更新日期字符串的方法this.dateStr = newDateStr}},persist: true // 启用持久化(默认 localStorage)
})// 热模块替换(HMR)相关代码,用于开发环境
if (import.meta.hot) {import.meta.hot.accept(acceptHMRUpdate(useDateStore, import.meta.hot))
}

如果只需要基本功能,persist: true 已经足够了,它会:

  1. 使用 store 的 id (‘date’) 作为 localStorage 的 key
  2. 自动将 state 序列化为 JSON 存储
  3. 在 store 初始化时自动从 localStorage 恢复状态
    如果需要更高级的配置,需要完整的配置对象,例如
persist: {enabled: true,strategies: [{key: 'date',  // 存储的键名,默认是 store 的 idstorage: localStorage  // 默认就是 localStorage}]
}

更多配置请见配置 | Pinia 持久化状态插件 — Configuration | Pinia Plugin Persistedstate

http://www.xdnf.cn/news/720415.html

相关文章:

  • Shell 脚本基础笔记
  • Java 中的 synchronized 和 Lock:如何保证线程安全
  • 深度解析互联网区(Internet ):架构、风险与防护全攻略
  • iOS 关于上架 4.3a
  • 330130-045-00-00 Bently Nevada 3300 XL延长电缆
  • 软考 系统架构设计师之考试感悟3
  • 美创专家分享医疗数据安全分类分级实践与探索
  • 从“固定“到“流动“:移动充电如何重塑用户体验?
  • 使用grpc建立跨语言通讯
  • Lua语言学习
  • 编译原理OJ平台练习题题解
  • 用 Python 模拟下雨效果
  • 输入输出相关问题 day4
  • CSS--background-repeat详解
  • 数据中台是什么?数据中台解决方案怎么做?
  • Java基于SpringBoot的医院挂号系统,附源码+文档说明
  • Animate CC CreateJS 技术50道测试题目
  • python面向对象
  • NodeJS 基于 Koa, 开发一个读取文件,并返回给客户端文件下载,以及读取文件形成列表和文件删除的代码演示
  • 64、【OS】【Nuttx】任务休眠与唤醒:clock_nanosleep
  • Java类中各部分内容的加载执行顺序
  • 【JS进阶】JavaScript 中 this 值的确定规则
  • 软考-系统架构设计师-第六章 系统工程基础知识
  • 软考-系统架构设计师-第二章 嵌入式基础知识
  • 《Map 到底适合用哪个?HashMap、TreeMap、LinkedHashMap 对比实战》
  • 位图--Bitset【0基础详细版】
  • AI和大数据:是工具,还是操控人心的“隐形之手”?
  • Vue模板语法
  • 【大模型学习网络互联】Memory-Mapped I/O MMIO语义与MEM语义
  • 【Elasticsearch】exists` 查询用于判断文档中是否存在某个指定字段。它检查字段是否存在于文档中,并且字段的值不为 `null`