Skip to content
Перевод синхронизирован с документацией от , хэш коммита 59ec609.

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

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

pinia.DefineStoreOptionsInPlugin

Доступные options при создании плагина pinia.

Параметры типа ​

НазваниеТип
Idextends string
Sextends StateTree
GG
AA

Иерархия ​

Свойства ​

actions ​

• actions: A

Извлеченный объект действий. Добавляется с помощью useStore() при создании хранилища с setup API, в противном случае используется тот, который передается в defineStore(). По умолчанию является пустым объектом, если действия не определены.


getters ​

• Опционально getters: G & ThisType<UnwrapRef<S> & _StoreWithGetters<G> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree>> & _GettersTree<S>

Опциональный объект геттеров.

Наследуется от ​

Omit.getters


state ​

• Опционально state: () => S

Функция для создания нового состояния. Должна быть стрелочной функцией для обеспечения правильной типизации!

Объявление типа ​

▸ (): S

Возвращает ​

S

Наследуется от ​

Omit.state

Методы ​

hydrate ​

▸ hydrate(storeState, initialState): void

Позволяет гидратировать хранилище во время SSR, когда в определении хранилища используются сложное состояние (например, только ref-ссылки на стороне клиента) и копирования значения из pinia.state будет недостаточно.

Параметры ​

НазваниеТипОписание
storeStateUnwrapRef<S>текущее состояние хранилища
initialStateUnwrapRef<S>initialState

Возвращает ​

void

Пример

Если в вашем state вы используете любые customRef, computed или ref, значения которых различаются на сервере и клиенте, вам нужно будет вручную их гидратировать (восстановить). Например, ref-ссылка, которая хранится в локальном хранилище:

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)
  }
})

Наследуется от ​

Omit.hydrate

Released under the MIT License.