Skip to content

Документація API / pinia / DefineStoreOptionsInPlugin

Інтерфейс: DefineStoreOptionsInPlugin<Id, S, G, A>

pinia.DefineStoreOptionsInPlugin

Доступні опції при створенні плагіна pinia.

Типи параметрів

Ім'яТип
Idextends string
Sextends StateTree
GG
AA

Ієрархія

Властивості

actions

дії: A

Витягнутий об'єкт дій. Додається завдяки метода useStore(), коли сховище створено за допомогою Setup API, інакше використовується об'єкт, який передаєтеся в defineStore(). За замовчуванням це порожній об'єкт, якщо в ньому не визначено жодної дії.


getters

Опційні геттери: G & ThisType<UnwrapRef<S> & _StoreWithGetters<G> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree>> & _GettersTree<S>

Опційний об'єкт геттерів.

Успадковано від

Omit.getters


state

Опційний стан: () => S

Оголошення типів

▸ (): S

Функція для створення нового стану. Повинна бути стрілочною функцією, щоб забезпечити правильність введення.

Повертає

S

Успадковано від

Omit.state

Методи

hydrate

Опційний hydrate(storeState, initialState): void

Дозволяє гідратувати сховище під час рендерингу на стороні серверу, коли комплексний стан (наприклад референції лише на стороні клієнта) використовується у визначенні сховища і копіювання значення з pinia.state є недостатнім.

Параметри

Ім'яТипОпис
storeStateUnwrapRef<S>поточний стан в сховищі
initialStateUnwrapRef<S>початковий стан

Повертає

void

Приклад

Якщо у вашому стані ви використовуєте будь-які користувацькі референції, або будь-які обчислювані значення чи будь-які референції, які мають різне значення на сервері та на клієнті, то вам потрібно вручну гідратувати їх, наприклад користувацьку референцію, яка зберігається у локальному сховищі:

ts
const useStore = defineStore('main', {
  state: () => ({
    n: useLocalStorage('key', 0)
  }),
  hydrate(storeState, initialState) {
    // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/43826
    storeState.n = useLocalStorage('key', 0)
  }
})
const useStore = defineStore('main', {
  state: () => ({
    n: useLocalStorage('key', 0)
  }),
  hydrate(storeState, initialState) {
    // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/43826
    storeState.n = useLocalStorage('key', 0)
  }
})

Успадковано від

Omit.hydrate

Released under the MIT License.