Документація 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
функція, що видаляє спостерігача