Документація API / pinia / _StoreWithState
Інтерфейс: _StoreWithState<Id, S, G, A>
pinia._StoreWithState
Базове сховище зі станом і функціями. Не повинен використовуватися напряму.
Типи параметрів
| Ім'я | Тип |
|---|---|
Id | extends string |
S | extends StateTree |
G | G |
A | A |
Ієрархія
StoreProperties<Id>↳
_StoreWithState
Властивості
$id
• $id: Id
Унікальний ідентифікатор сховища
Наслідується від
$state
• $state: UnwrapRef<S> & PiniaCustomStateProperties<S>
Стан сховища. Його налаштування призведе до внутрішнього виклику $patch() для оновлення стану.
_customProperties
• _customProperties: Set<string>
Використовується плагіном devtools для отримання властивостей, доданих за допомогою плагінів. Видалено у виробництві. Може використовуватися користувачем для додавання ключів властивостей сховища, які повинні відображатися у devtools.
Наслідується від
StoreProperties._customProperties
Методи
$dispose
▸ $dispose(): void
Зупиняє область дії ефекту, яка пов'язаний зі сховищем і видаляє його з реєстру сховища. Плагіни можуть перевизначати цей метод для очищення будь-яких доданих ефектів, наприклад, плагін devtools зупиняє відображення видалених сховищ з devtools. Зауважте, що це не видаляє стан сховища, ви маєте зробити це власноруч за допомогою delete pinia.state.value[store.$id], якщо хочете. Якщо ви цього не зробите і сховище буде використано повторно, то попередній стан буде використано ще раз.
Повертає
void
$onAction
▸ $onAction(callback, detached?): () => void
Налаштовує функцію зворотного виклику, яка буде викликатися щоразу, коли дія буде викликана. Функція зворотного виклику отримує об'єкт з усією актуальною інформацією виклаканої дії:
store: сховище, для якого вона викликаєтьсяname: назва діїargs: параметри, що передаються до дії
Крім того, функція зворотного виклику отримує дві функції, які дозволяють налаштувати зворотний виклик після завершення дії або у випадку її невдачі.
Вона також повертає функцію для видалення зворотного виклику. Зверніть увагу, що при виклику store.$onAction() всередині компонента, він буде автоматично очищений, коли компонент буде демонтовано, якщо тільки detached не встановлено у true.
Параметри
| Ім'я | Тип | Опис |
|---|---|---|
callback | StoreOnActionListener<Id, S, G, A> | функція зворотного виклику, що викликається перед кожною дією |
detached? | boolean | видаляє підписку з контексту, в якому вона була викликана |
Повертає
fn
функція, що видаляє спостерігача
▸ (): void
Налаштовує функцію зворотного виклику, яка буде викликатися щоразу, коли дія буде викликана. Функція зворотного виклику отримує об'єкт з усією актуальною інформацією виклаканої дії:
store: сховище, для якого вона викликаєтьсяname: назва діїargs: параметри, що передаються до дії
Крім того, функція зворотного виклику отримує дві функції, які дозволяють налаштувати зворотний виклик після завершення дії або у випадку її невдачі.
Вона також повертає функцію для видалення зворотного виклику. Зверніть увагу, що при виклику store.$onAction() всередині компонента, він буде автоматично очищений, коли компонент буде демонтовано, якщо тільки detached не встановлено у true.
Повертає
void
функція, що видаляє спостерігача
Example
store.$onAction(({ after, onError }) => {
// Тут ви можете спільно використовувати змінні між усіма хуками,
// а також встановлювати спостерігачі та очищати їх
after((resolvedValue) => {
// може бути використано для очищення побічних ефектів
. // `resolvedValue` - це значення, що повертається дією,
// якщо це Promise, то замість нього буде повернуто його облоблене значення
})
onError((error) => {
// може бути використано для обробки помилок
})
})store.$onAction(({ after, onError }) => {
// Тут ви можете спільно використовувати змінні між усіма хуками,
// а також встановлювати спостерігачі та очищати їх
after((resolvedValue) => {
// може бути використано для очищення побічних ефектів
. // `resolvedValue` - це значення, що повертається дією,
// якщо це Promise, то замість нього буде повернуто його облоблене значення
})
onError((error) => {
// може бути використано для обробки помилок
})
})$patch
▸ $patch(partialState): void
Застосовує патч стану до поточного стану. Дозволяє передавати вкладені значення
Параметри
| Ім'я | Тип | Опис |
|---|---|---|
partialState | _DeepPartial<UnwrapRef<S>> | патч для застосування до стану |
Повертає
void
▸ $patch<F>(stateMutator): void
Об'єднує кілька змін в одну функцію. Це корисно, коли ви змінюєте такі структури даних, як Sets або масиви, тобто застосування патчу не є практичним, наприклад, додавання до масиву. Функція, що передається до $patch() повинна бути синхронною.
Тип параметрів
| Ім'я | Тип |
|---|---|
F | extends (state: UnwrapRef<S>) => any |
Параметри
| Ім'я | Тип | Опис |
|---|---|---|
stateMutator | ReturnType<F> extends Promise<any> ? never : F | функція, яка змінює стан, не може бути асинхронною |
Повертає
void
$reset
▸ $reset(): void
Обнуляє сховище до початкового стану, створюючи новий об'єкт стану. TODO: зробити це лише для опцій
Повертає
void
$subscribe
▸ $subscribe(callback, options?): () => void
Встановлює зворотний виклик, який буде викликано щоразу, коли стан змінюється. Також повертає функцію для видалення зворотного виклику. Зверніть увагу що при виклику store.$subscribe() всередині компонента, він буде автоматично очищений, коли компонент буде демонтовано, якщо тільки detached не встановлено в true.
Параметри
| Ім'я | Тип | Опис |
|---|---|---|
callback | SubscriptionCallback<S> | функція зворотного виклику, що передається до спостерігача |
options? | { detached?: boolean } & WatchOptions<boolean> | опції watch та detached для видалення підписки з контексту (зазвичай компонента), в якому її було викликано. Зверніть увагу, що опція flush не впливає на виклики store.$patch(). |
Повертає
fn
функція, що видаляє спостерігача
▸ (): void
Встановлює зворотний виклик, який буде викликано щоразу, коли стан змінюється. Також повертає функцію для видалення зворотного виклику. Зверніть увагу що при виклику store.$subscribe() всередині компонента, він буде автоматично очищений, коли компонент буде демонтовано, якщо тільки detached не встановлено в true.
Повертає
void
функція, що видаляє спостерігача
