透過 100+ 個小技巧學習 Nuxt!

pinia-plugin-persistedstate
pinia-plugin-persistedstate

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

Pinia Plugin Persistedstate

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