Pinia 存储的可配置持久化和状态恢复。
vuex-persistedstate 启发的友好 API 持久化 Pinia 存储。Nuxt 提供开箱即用的 SSR 友好支持。pnpm add pinia-plugin-persistedstatenpm i pinia-plugin-persistedstateyarn add pinia-plugin-persistedstateimport { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)
persist 选项import { defineStore } from 'pinia'
export const useStore = defineStore('store', {
state: () => ({
someState: 'hello pinia',
}),
persist: true,
})
您可以通过为 persist 属性指定选项来配置存储的持久化方式
export const useStore = defineStore('store', () => {
const someState = ref('hello pinia')
return { someState }
}, {
persist: {
storage: sessionStorage,
pick: ['someState'],
},
})
所有可用的配置选项都在此处解释。
由于包含的模块,Nuxt 支持是开箱即用的。您只需安装包并将模块添加到您的 nuxt.config.ts,如下所示
export default defineNuxtConfig({
modules: [
'@pinia/nuxt', // required
'pinia-plugin-persistedstate/nuxt',
],
})
有关 Nuxt 中存储和配置的更多信息,请在此处查看。
有几个限制需要考虑,更多信息请在此处查看。
请参阅贡献指南。