Skip to content

状态持久化 ​

本节目标:理解“状态持久化”的核心思路,并能把它用于实际开发或面试表达。 为什么会报 “paths 不存在”? 你现在项目里 实际装的是 pinia-plugin-persist(或同系分叉), 它给 persist 提供的类型只有:

ts 复制编辑 persist: { enabled?: boolean strategies?: PersistStrategy[] // ← “paths” 在这里面} 而 pinia-plugin-persistedstate 才支持直接写:

ts 复制编辑 persist: { paths: [...] } 所以 TypeScript 会提示 “paths 不存在”。

解决方案(二选一)

做法什么时候选写法示例
A. 继续用 pinia-plugin-persist你项目里已经在用它,改动最小ts persist: { enabled: true, strategies: [ { key: 'trade-view', storage: localStorage, paths: ['tabs', 'currentItem'], }, ], }
B. 换成 pinia-plugin-persistedstate喜欢简单写法 / 官方文档示例1) pnpm add pinia-plugin-persistedstate
  1. pinia.use(persistedState)
  2. ts persist: { key: 'trade-view', paths: ['tabs', 'currentItem'] }|

开始 | Pinia Plugin Persistedstate ==pnpm== ==add pinia-plugin-persistedstate==

// 全局开启 auto 持久化(不常用的做法) pinia.use( createPersistedState({ auto: true, // ➜ 默认所有 Store 都持久化 key: (id) => myapp-${id}, }), )

// 某个 Store 想排除 export const useTempStore = defineStore('temp', () => ({ tmp: 1 }), { persist: false, // 显式关闭 }) > 来自 <https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/>

本站总访问 — 次