Документація 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
