Документація API / pinia / DefineStoreOptionsInPlugin
Інтерфейс: DefineStoreOptionsInPlugin<Id, S, G, A>
pinia.DefineStoreOptionsInPlugin
Доступні опції
при створенні плагіна pinia.
Типи параметрів
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | G |
A | A |
Ієрархія
Omit
<DefineStoreOptions
<Id
,S
,G
,A
>,"id"
|"actions"
>↳
DefineStoreOptionsInPlugin
Властивості
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
є недостатнім.
Параметри
Ім'я | Тип | Опис |
---|---|---|
storeState | UnwrapRef <S > | поточний стан в сховищі |
initialState | UnwrapRef <S > | початковий стан |
Повертає
void
Приклад
Якщо у вашому стані
ви використовуєте будь-які користувацькі референції
, або будь-які обчислювані значення
чи будь-які референції
, які мають різне значення на сервері та на клієнті, то вам потрібно вручну гідратувати їх, наприклад користувацьку референцію, яка зберігається у локальному сховищі:
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