Nuxt Nation 大会即将到来。加入我们,时间为 11 月 12 日至 13 日。

pinia-plugin-persistedstate
pinia-plugin-persistedstate

Pinia 存储的可配置持久化和重新水化。

Pinia 插件持久化状态

Pinia 存储的可配置持久化和重新水化。

npm minizipped size license

文档

特性

  • 使用受 vuex-persistedstate 启发的友好 API 持久化 Pinia 存储。
  • 高度可定制(存储、序列化器、路径选择/省略)。
  • 开箱即用的 SSR 友好支持 Nuxt
  • 非常小(<2kB 压缩后)。

快速入门

  1. 使用您喜欢的包管理器安装
    • pnpm : pnpm add pinia-plugin-persistedstate
    • npm : npm i pinia-plugin-persistedstate
    • yarn : yarn add pinia-plugin-persistedstate
  2. 将插件添加到 Pinia
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'

const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)
  1. 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 支持开箱即用。您只需要安装软件包并将模块添加到您的 nuxt.config.ts 文件中,如下所示

export default defineNuxtConfig({
  modules: [
    '@pinia/nuxt', // required
    'pinia-plugin-persistedstate/nuxt',
  ],
})

有关 Nuxt 中存储和配置的更多信息,请 点击此处

限制

应该考虑一些限制,更多信息请 点击此处

贡献

请查看 贡献指南

许可证

MIT © 2021-至今 Sacha Bouillez