Документація API / pinia
Модуль: pinia
Перелік
Інтерфейси
- DefineSetupStoreOptions
- DefineStoreOptions
- DefineStoreOptionsBase
- DefineStoreOptionsInPlugin
- MapStoresCustomization
- Pinia
- PiniaCustomProperties
- PiniaCustomStateProperties
- PiniaPlugin
- PiniaPluginContext
- SetupStoreDefinition
- StoreDefinition
- StoreProperties
- SubscriptionCallbackMutationDirect
- SubscriptionCallbackMutationPatchFunction
- SubscriptionCallbackMutationPatchObject
- _StoreOnActionListenerContext
- _StoreWithState
- _SubscriptionCallbackMutationBase
Тип псевдоніми
PiniaStorePlugin
Ƭ PiniaStorePlugin: PiniaPlugin
Плагін для розширення кожного сховища.
Заборонено
використовуйте PiniaPlugin натомість
StateTree
Ƭ StateTree: Record
<string
| number
| symbol
, any
>
Загальний стан сховища
Store
Ƭ Store<Id
, S
, G
, A
>: _StoreWithState
<Id
, S
, G
, A
> & UnwrapRef
<S
> & _StoreWithGetters
<G
> & _ActionsTree
extends A
? {} : A
& PiniaCustomProperties
<Id
, S
, G
, A
> & PiniaCustomStateProperties
<S
>
Тип сховища для створення сховища.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string = string |
S | extends StateTree = {} |
G | {} |
A | {} |
StoreActions
Ƭ StoreActions<SS
>: SS
extends Store
<string
, StateTree
, _GettersTree
<StateTree
>, infer A> ? A
: _ExtractActionsFromSetupStore
<SS
>
Витягує дії за типом сховища. Працює як зі сховищем композиційного API, так і зі сховищем опційного.
Параметри типу
Ім'я |
---|
SS |
StoreGeneric
Ƭ StoreGeneric: Store
<string
, StateTree
, _GettersTree
<StateTree
>, _ActionsTree
>
Загальна та небезпечна версія сховища. Не дає збою при доступі через рядки, що значно спрощує написання загальних функцій, які не зважають на тип переданого сховища.
StoreGetters
Ƭ StoreGetters<SS
>: SS
extends Store
<string
, StateTree
, infer G, _ActionsTree
> ? _StoreWithGetters
<G
> : _ExtractGettersFromSetupStore
<SS
>
Витягує гетери сховища. Працює як зі сховищем композиційного API, так і зі сховищем опційного.
Параметри типу
Ім'я |
---|
SS |
StoreOnActionListener
Ƭ StoreOnActionListener<Id
, S
, G
, A
>: (context
: StoreOnActionListenerContext
<Id
, S
, G
, {} extends A
? _ActionsTree
: A
>) => void
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | G |
A | A |
Оголошення типу
▸ (context
): void
Аргумент store.$onAction()
Параметри
Ім'я | Тип |
---|---|
context | StoreOnActionListenerContext <Id , S , G , {} extends A ? _ActionsTree : A > |
Повертає
void
StoreOnActionListenerContext
Ƭ StoreOnActionListenerContext<Id
, S
, G
, A
>: _ActionsTree
extends A
? _StoreOnActionListenerContext
<StoreGeneric
, string
, _ActionsTree
> : { [Name in keyof A]: Name extends string ? _StoreOnActionListenerContext<Store<Id, S, G, A>, Name, A> : never }[keyof A
]
Об'єкт контексту, що передається до функцій зворотного виклику store.$onAction(context => {})
ЗАВДАННЯ: повинен мати лише ідентифікатор, сховище та дії для створення відповідного об'єкта
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | G |
A | A |
StoreState
Ƭ StoreState<SS
>: SS
extends Store
<string
, infer S, _GettersTree
<StateTree
>, _ActionsTree
> ? UnwrapRef
<S
> : _ExtractStateFromSetupStore
<SS
>
Витягує стан типу сховища. Працює як зі сховищем Setup, так і зі сховищем Options. Зверніть увагу, що це розгортає посилання.
Параметри типу
Ім'я |
---|
SS |
SubscriptionCallback
Ƭ SubscriptionCallback<S
>: (mutation
: SubscriptionCallbackMutation
<S
>, state
: UnwrapRef
<S
>) => void
Параметри типу
Ім'я |
---|
S |
Оголошення типу
▸ (mutation
, state
): void
Функція зворотного виклику підписки
Parameters
Ім'я | Type |
---|---|
mutation | SubscriptionCallbackMutation <S > |
state | UnwrapRef <S > |
Повертає
void
SubscriptionCallbackMutation
Ƭ SubscriptionCallbackMutation<S
>: SubscriptionCallbackMutationDirect
| SubscriptionCallbackMutationPatchObject
<S
> | SubscriptionCallbackMutationPatchFunction
Об'єкт контексту, який передається у функцію зворотного виклику підписки.
Параметри типу
Ім'я |
---|
S |
_ActionsTree %{#Type-Aliases-_ActionsTree}%
Ƭ _ActionsTree: Record
<string
, _Method
>
Тип об'єкта дій. Лише для внутрішнього використання
_Awaited %{#Type-Aliases-_Awaited}%
Ƭ _Awaited<T
>: T
extends null
| undefined
? T
: T
extends object
& { then
: (onfulfilled
: F
) => any
} ? F
extends (value
: infer V, ...args
: any
) => any
? _Awaited
<V
> : never
: T
Параметри типу %{#Type-Aliases-_Awaited-Type-parameters}%
Ім'я |
---|
T |
_DeepPartial %{#Type-Aliases-_DeepPartial}%
Ƭ _DeepPartial<T
>: { [K in keyof T]?: _DeepPartial<T[K]> }
Рекурсивний Partial<T>
. Використовується ['$patch'].
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_DeepPartial-Type-parameters}%
Ім'я |
---|
T |
_ExtractActionsFromSetupStore %{#Type-Aliases-_ExtractActionsFromSetupStore}%
Ƭ _ExtractActionsFromSetupStore<SS
>: SS
extends undefined
| void
? {} : _ExtractActionsFromSetupStore_Keys
<SS
> extends keyof SS
? Pick
<SS
, _ExtractActionsFromSetupStore_Keys
<SS
>> : never
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_ExtractActionsFromSetupStore-Type-parameters}%
Ім'я |
---|
SS |
_ExtractActionsFromSetupStore_Keys %{#Type-Aliases-_ExtractActionsFromSetupStore_Keys}%
Ƭ _ExtractActionsFromSetupStore_Keys<SS
>: keyof { [K in keyof SS as SS[K] extends _Method ? K : never]: any }
Тип, що дозволяє рефакторинг через IDE. Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_ExtractActionsFromSetupStore_Keys-Type-parameters}%
Ім'я |
---|
SS |
_ExtractGettersFromSetupStore %{#Type-Aliases-_ExtractGettersFromSetupStore}%
Ƭ _ExtractGettersFromSetupStore<SS
>: SS
extends undefined
| void
? {} : _ExtractGettersFromSetupStore_Keys
<SS
> extends keyof SS
? Pick
<SS
, _ExtractGettersFromSetupStore_Keys
<SS
>> : never
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_ExtractGettersFromSetupStore-Type-parameters}%
Ім'я |
---|
SS |
_ExtractGettersFromSetupStore_Keys %{#Type-Aliases-_ExtractGettersFromSetupStore_Keys}%
Ƭ _ExtractGettersFromSetupStore_Keys<SS
>: keyof { [K in keyof SS as SS[K] extends ComputedRef ? K : never]: any }
Тип, що дозволяє рефакторинг через IDE. Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_ExtractGettersFromSetupStore_Keys-Type-parameters}%
Ім'я |
---|
SS |
_ExtractStateFromSetupStore %{#Type-Aliases-_ExtractStateFromSetupStore}%
Ƭ _ExtractStateFromSetupStore<SS
>: SS
extends undefined
| void
? {} : _ExtractStateFromSetupStore_Keys
<SS
> extends keyof SS
? _UnwrapAll
<Pick
<SS
, _ExtractStateFromSetupStore_Keys
<SS
>>> : never
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_ExtractStateFromSetupStore-Type-parameters}%
Ім'я |
---|
SS |
_ExtractStateFromSetupStore_Keys %{#Type-Aliases-_ExtractStateFromSetupStore_Keys}%
Ƭ _ExtractStateFromSetupStore_Keys<SS
>: keyof { [K in keyof SS as SS[K] extends _Method | ComputedRef ? never : K]: any }
Тип, що дозволяє рефакторинг через IDE. Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_ExtractStateFromSetupStore_Keys-Type-parameters}%
Ім'я |
---|
SS |
_GettersTree %{#Type-Aliases-_GettersTree}%
Ƭ _GettersTree<S
>: Record
<string
, (state
: UnwrapRef
<S
> & UnwrapRef
<PiniaCustomStateProperties
<S
>>) => any
| () => any
>
Тип об'єкту гетерів, що отримують аргумент. Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_GettersTree-Type-parameters}%
Ім'я | Тип |
---|---|
S | extends StateTree |
_MapActionsObjectReturn %{#Type-Aliases-_MapActionsObjectReturn}%
Ƭ _MapActionsObjectReturn<A
, T
>: { [key in keyof T]: A[T[key]] }
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_MapActionsObjectReturn-Type-parameters}%
Ім'я | Тип |
---|---|
A | A |
T | extends Record <string , keyof A > |
_MapActionsReturn %{#Type-Aliases-_MapActionsReturn}%
Ƭ _MapActionsReturn<A
>: { [key in keyof A]: A[key] }
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_MapActionsReturn-Type-parameters}%
Ім'я |
---|
A |
_MapStateObjectReturn %{#Type-Aliases-_MapStateObjectReturn}%
Ƭ _MapStateObjectReturn<Id
, S
, G
, A
, T
>: { [key in keyof T]: Function }
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_MapStateObjectReturn-Type-parameters}%
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
T | extends Record <string , keyof S | keyof G | (store : Store <Id , S , G , A >) => any > = {} |
_MapStateReturn %{#Type-Aliases-_MapStateReturn}%
Ƭ _MapStateReturn<S
, G
, Keys
>: { [key in Keys]: Function }
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_MapStateReturn-Type-parameters}%
Ім'я | Тип |
---|---|
S | extends StateTree |
G | extends _GettersTree <S > |
Keys | extends keyof S | keyof G = keyof S | keyof G |
_MapWritableStateObjectReturn %{#Type-Aliases-_MapWritableStateObjectReturn}%
Ƭ _MapWritableStateObjectReturn<S
, T
>: { [key in keyof T]: Object }
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_MapWritableStateObjectReturn-Type-parameters}%
Ім'я | Тип |
---|---|
S | extends StateTree |
T | extends Record <string , keyof S > |
_MapWritableStateReturn %{#Type-Aliases-_MapWritableStateReturn}%
Ƭ _MapWritableStateReturn<S
>: { [key in keyof S]: Object }
Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_MapWritableStateReturn-Type-parameters}%
Ім'я | Тип |
---|---|
S | extends StateTree |
_Method %{#Type-Aliases-_Method}%
Ƭ _Method: (...args
: any
[]) => any
Оголошення типу %{#Type-Aliases-_Method-Type-declaration}%
▸ (...args
): any
Загальний тип для функції, яка може виводити аргументи та повертати тип
Лише для внутрішнього використання
Параметри %{#Type-Aliases-_Method-Type-declaration-Parameters}%
Ім'я | Тип |
---|---|
...args | any [] |
Повертає %{#Type-Aliases-_Method-Type-declaration-Returns}%
any
_Spread %{#Type-Aliases-_Spread}%
Ƭ _Spread<A
>: A
extends [infer L, ...(infer R)] ? _StoreObject
<L
> & _Spread
<R
> : unknown
Лише для внутрішнього використання.
Параметри типу %{#Type-Aliases-_Spread-Type-parameters}%
Ім'я | Тип |
---|---|
A | extends readonly any [] |
_StoreObject %{#Type-Aliases-_StoreObject}%
Ƭ _StoreObject<S
>: S
extends StoreDefinition
<infer Ids, infer State, infer Getters, infer Actions> ? { [Id in `${Ids}${MapStoresCustomization extends Record<"suffix", infer Suffix> ? Suffix : "Store"}`]: Function } : {}
Лише для внутрішнього використання.
Параметри типу %{#Type-Aliases-_StoreObject-Type-parameters}%
Ім'я |
---|
S |
_StoreWithActions %{#Type-Aliases-_StoreWithActions}%
Ƭ _StoreWithActions<A
>: { [k in keyof A]: A[k] extends Function ? Function : never }
Сховище, що розширене для дій. Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_StoreWithActions-Type-parameters}%
Ім'я |
---|
A |
_StoreWithGetters %{#Type-Aliases-_StoreWithGetters}%
Ƭ _StoreWithGetters<G
>: { readonly [k in keyof G]: G[k] extends Function ? R : UnwrapRef<G[k]> }
Сховище, що розширене для гетерів. Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_StoreWithGetters-Type-parameters}%
Ім'я |
---|
G |
_UnwrapAll %{#Type-Aliases-_UnwrapAll}%
Ƭ _UnwrapAll<SS
>: { [K in keyof SS]: UnwrapRef<SS[K]> }
Тип, що дозволяє рефакторинг через IDE. Лише для внутрішнього використання
Параметри типу %{#Type-Aliases-_UnwrapAll-Type-parameters}%
Ім'я |
---|
SS |
Змінні
PiniaVuePlugin
• Const
PiniaVuePlugin: Plugin
Плагін для версії Vue 2, який має бути встановлений для роботи з pinia. Примітка: вам не потрібен цей плагін, якщо ви використовуєте Nuxt.js. Замість нього використовуйте buildModule
: https://pinia.vuejs.org/ssr/nuxt.html.
Приклад
import Vue from 'vue'
import { PiniaVuePlugin, createPinia } from 'pinia'
Vue.use(PiniaVuePlugin)
const pinia = createPinia()
new Vue({
el: '#app',
// ...
pinia,
})
import Vue from 'vue'
import { PiniaVuePlugin, createPinia } from 'pinia'
Vue.use(PiniaVuePlugin)
const pinia = createPinia()
new Vue({
el: '#app',
// ...
pinia,
})
Параметр
Vue
, який імпортується з 'vue'.
Функції
acceptHMRUpdate
▸ acceptHMRUpdate(initialUseStore
, hot
): (newModule
: any
) => any
acceptHMRUpdate<Id
, S
, G
, A
>(initialUseStore
, hot
): (newModule
: any
) => any
Приклад
Type parameters
Name | Type |
---|---|
Id | extends string = string |
S | extends StateTree = StateTree |
G | extends _GettersTree <S > = _GettersTree <S > |
A | _ActionsTree |
Параметри
Ім'я | Тип | Опис |
---|---|---|
initialUseStore | StoreDefinition <Id , S , G , A > | повернення defineStore до миттєвого оновлення |
hot | any | i |
Повертає
fn
▸ (newModule
): any
Параметри
Ім'я | Тип |
---|---|
newModule | any |
Повертає
any
Example
const useUser = defineStore(...)
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))
}
const useUser = defineStore(...)
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))
}
createPinia
▸ createPinia(): Pinia
Створює екземпляр Pinia для використання додатком
Повертає
defineStore
▸ defineStore<Id
, S
, G
, A
>(id
, options
): StoreDefinition
<Id
, S
, G
, A
>
Створює функцію useStore
, яка отримує екземпляр сховища
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree = {} |
G | extends _GettersTree <S > = {} |
A | {} |
Параметри
Ім'я | Тип | Опис |
---|---|---|
id | Id | ідентифікатор сховища (повинен бути унікальним) |
options | Omit <DefineStoreOptions <Id , S , G , A >, "id" > | параметри для визначення сховища |
Повертає
StoreDefinition
<Id
, S
, G
, A
>
▸ defineStore<Id
, S
, G
, A
>(options
): StoreDefinition
<Id
, S
, G
, A
>
Створює функцію useStore
, яка отримує екземпляр сховища
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree = {} |
G | extends _GettersTree <S > = {} |
A | {} |
Параметри
Ім'я | Тип | Опис |
---|---|---|
options | DefineStoreOptions <Id , S , G , A > | параметри для визначення сховища |
Повертає
StoreDefinition
<Id
, S
, G
, A
>
▸ defineStore<Id
, SS
>(id
, storeSetup
, options?
): StoreDefinition
<Id
, _ExtractStateFromSetupStore
<SS
>, _ExtractGettersFromSetupStore
<SS
>, _ExtractActionsFromSetupStore
<SS
>>
Створює функцію useStore
, яка отримує екземпляр сховища
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
SS | SS |
Параметри
Ім'я | Тип | Опис |
---|---|---|
id | Id | ідентифікатор сховища (повинен бути унікальним) |
storeSetup | () => SS | функція, яка оголошує сховище |
options? | DefineSetupStoreOptions <Id , _ExtractStateFromSetupStore <SS >, _ExtractGettersFromSetupStore <SS >, _ExtractActionsFromSetupStore <SS >> | додаткові параметри |
Повертає
StoreDefinition
<Id
, _ExtractStateFromSetupStore
<SS
>, _ExtractGettersFromSetupStore
<SS
>, _ExtractActionsFromSetupStore
<SS
>>
disposePinia
▸ disposePinia(pinia
): void
Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances.
Parameters
Name | Type | Description |
---|---|---|
pinia | Pinia | pinia instance |
Returns
void
getActivePinia
▸ getActivePinia(): undefined
| Pinia
Отримує поточну активну Pinia, якщо вона є.
Повертає
undefined
| Pinia
mapActions
▸ mapActions<Id
, S
, G
, A
, KeyMapper
>(useStore
, keyMapper
): _MapActionsObjectReturn
<A
, KeyMapper
>
Дозволяє безпосередньо використовувати дії з вашого сховища без використання композиційного API (setup()
), генеруючи об'єкт для використання в полі methods
компонента. Значеннями об'єкта є дії, а ключами назви отриманих методів.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
KeyMapper | extends Record <string , keyof A > |
Параметри
Ім'я | Тип | Опис |
---|---|---|
useStore | StoreDefinition <Id , S , G , A > | сховище, з якого мапити |
keyMapper | KeyMapper | об'єкт, щоб визначити нові імена для дій |
Повертає
_MapActionsObjectReturn
<A
, KeyMapper
>
Приклад
export default {
methods: {
// інші методи
// useCounterStore має дві дії під назвами `increment` і `setCount`
...mapActions(useCounterStore, { moar: 'increment', setIt: 'setCount' })
},
created() {
this.moar()
this.setIt(2)
}
}
export default {
methods: {
// інші методи
// useCounterStore має дві дії під назвами `increment` і `setCount`
...mapActions(useCounterStore, { moar: 'increment', setIt: 'setCount' })
},
created() {
this.moar()
this.setIt(2)
}
}
▸ mapActions<Id
, S
, G
, A
>(useStore
, keys
): _MapActionsReturn
<A
>
Дозволяє безпосередньо використовувати дії з вашого сховища без використання композиційного API (setup()
), генеруючи об’єкт для розширення в полі methods
компонента.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
Параметри
Ім'я | Тип | Опис |
---|---|---|
useStore | StoreDefinition <Id , S , G , A > | cховище, з якого зіставляти дані |
keys | keyof A [] | масив назв дій для зіставлення |
Повертає
Приклад
export default {
methods: {
// інші властивості методів
...mapActions(useCounterStore, ['increment', 'setCount'])
},
created() {
this.increment()
this.setCount(2) // передавайте аргументи як зазвичай
}
}
export default {
methods: {
// інші властивості методів
...mapActions(useCounterStore, ['increment', 'setCount'])
},
created() {
this.increment()
this.setCount(2) // передавайте аргументи як зазвичай
}
}
mapGetters
▸ mapGetters<Id
, S
, G
, A
, KeyMapper
>(useStore
, keyMapper
): _MapStateObjectReturn
<Id
, S
, G
, A
, KeyMapper
>
Псевдонім для mapState()
. Ви повинні використовувати mapState()
натомість.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
KeyMapper | extends Record <string , keyof S | keyof G | (store : Store <Id , S , G , A >) => any > |
Параметри
Ім'я | Тип |
---|---|
useStore | StoreDefinition <Id , S , G , A > |
keyMapper | KeyMapper |
Повертає
_MapStateObjectReturn
<Id
, S
, G
, A
, KeyMapper
>
Заборонено
використовуй mapState()
натомість.
▸ mapGetters<Id
, S
, G
, A
, Keys
>(useStore
, keys
): _MapStateReturn
<S
, G
, Keys
>
Псевдонім для mapState()
. Ви повинні використовувати mapState()
натомість.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
Keys | extends string | number | symbol |
Параметри
Ім'я | Тип |
---|---|
useStore | StoreDefinition <Id , S , G , A > |
keys | readonly Keys [] |
Повертає
_MapStateReturn
<S
, G
, Keys
>
Заборонено
використовуй mapState()
натомість.
mapState
▸ mapState<Id
, S
, G
, A
, KeyMapper
>(useStore
, keyMapper
): _MapStateObjectReturn
<Id
, S
, G
, A
, KeyMapper
>
Дозволяє використовувати стан та гетери з одного сховища без використання композиційного API (setup()
), генеруючи об'єкт для розширення у полі computed
компонента. Значеннями об'єкта є властивості стану та гетери, а ключами - імена обчислюваних властивостей. За бажанням, ви також можете передати користувацьку функцію, яка отримає сховище як перший аргумент. Зауважте, що хоча вона має доступ до екземпляра компонента через this
, вона не буде типізована.
Параметри типу
Name | Type |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
KeyMapper | extends Record <string , keyof S | keyof G | (store : Store <Id , S , G , A >) => any > |
Параметри
Name | Type | Description |
---|---|---|
useStore | StoreDefinition <Id , S , G , A > | store to map from |
keyMapper | KeyMapper | object of state properties or getters |
Повертає
_MapStateObjectReturn
<Id
, S
, G
, A
, KeyMapper
>
Приклад
export default {
computed: {
// інші обчислювані властивості
// useCounterStore має властивість стану що називається `count` і гетер `double`
...mapState(useCounterStore, {
n: 'count',
triple: store => store.n * 3,
// зверніть увагу, що ми не можемо використовувати стрілочну функцію, якщо потрібно мати доступ до `this`
custom(store) {
return this.someComponentValue + store.n
},
doubleN: 'double'
})
},
created() {
this.n // 2
this.doubleN // 4
}
}
export default {
computed: {
// інші обчислювані властивості
// useCounterStore має властивість стану що називається `count` і гетер `double`
...mapState(useCounterStore, {
n: 'count',
triple: store => store.n * 3,
// зверніть увагу, що ми не можемо використовувати стрілочну функцію, якщо потрібно мати доступ до `this`
custom(store) {
return this.someComponentValue + store.n
},
doubleN: 'double'
})
},
created() {
this.n // 2
this.doubleN // 4
}
}
▸ mapState<Id
, S
, G
, A
, Keys
>(useStore
, keys
): _MapStateReturn
<S
, G
, Keys
>
Дозволяє використовувати стан і геттери з одного сховища без використання композиції API (setup()
), генеруючи об’єкт для розширення в полі computed
компонента.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
Keys | extends string | number | symbol |
Параметри
Ім'я | Тип | Опис |
---|---|---|
useStore | StoreDefinition <Id , S , G , A > | cховище, з якого зіставляти дані |
keys | readonly Keys [] | array of state properties or getters |
Повертає
_MapStateReturn
<S
, G
, Keys
>
Приклад
export default {
computed: {
// інші обчислювані властивості
...mapState(useCounterStore, ['count', 'double'])
},
created() {
this.count // 2
this.double // 4
}
}
export default {
computed: {
// інші обчислювані властивості
...mapState(useCounterStore, ['count', 'double'])
},
created() {
this.count // 2
this.double // 4
}
}
mapStores
▸ mapStores<Stores
>(...stores
): _Spread
<Stores
>
Дозволяє використовувати магазини без API композиції (setup()
) шляхом генерації об’єкт, який буде розширено в полі computed
компонента. Він приймає список визначень магазину.
Параметри типу
Name | Type |
---|---|
Stores | extends any [] |
Параметри
Ім'я | Тип | Опис |
---|---|---|
...stores | [...Stores[]] | список сховищ для зіставлення з об’єктом |
Повертає
_Spread
<Stores
>
Приклад
export default {
computed: {
// інші обчислювані властивості
...mapStores(useUserStore, useCartStore)
},
created() {
this.userStore // сховище з ідентифікатором "user"
this.cartStore // сховище з ідентифікатором "cart"
}
}
export default {
computed: {
// інші обчислювані властивості
...mapStores(useUserStore, useCartStore)
},
created() {
this.userStore // сховище з ідентифікатором "user"
this.cartStore // сховище з ідентифікатором "cart"
}
}
mapWritableState
▸ mapWritableState<Id
, S
, G
, A
, KeyMapper
>(useStore
, keyMapper
): _MapWritableStateObjectReturn
<S
, KeyMapper
>
Те саме, що й mapState()
, але створює також обчислювані сетери, щоб стан можна було змінювати. На відміну від mapState()
, можна додавати лише властивості стану.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
KeyMapper | extends Record <string , keyof S > |
Параметри
Ім'я | Тип | Опис |
---|---|---|
useStore | StoreDefinition <Id , S , G , A > | cховище, з якого зіставляти дані |
keyMapper | KeyMapper | об'єкт властивостей стану |
Повертає
_MapWritableStateObjectReturn
<S
, KeyMapper
>
▸ mapWritableState<Id
, S
, G
, A
>(useStore
, keys
): _MapWritableStateReturn
<S
>
Дозволяє використовувати стан та гетери з одного сховища без використання композиційного API (setup()
), генеруючи об'єкт для розширення у полі обчислюваних властивостей computed
компонента.
Параметри типу
Ім'я | Тип |
---|---|
Id | extends string |
S | extends StateTree |
G | extends _GettersTree <S > |
A | A |
Keys | extends string | number | symbol |
Параметри
Ім'я | Тип | Опис |
---|---|---|
useStore | StoreDefinition <Id , S , G , A > | cховище, з якого зіставляти дані |
keys | keyof S [] | масив властивостей стану |
Повертає
setActivePinia
▸ setActivePinia(pinia
): Pinia
Вмикає або вимикає активну Pinia. Використовується в SSR та внутрішньо для виклику дій та гетерів.
Параметри
Ім'я | Тип | Опис |
---|---|---|
pinia | Pinia | Екземпляр Pinia |
Повертає
▸ setActivePinia(pinia
): undefined
Вмикає або вимикає активну Pinia. Використовується в SSR та внутрішньо для виклику дій та гетерів.
Параметри
Ім'я | Тип | Опис |
---|---|---|
pinia | undefined | Екземпляр Pinia |
Повертає
undefined
▸ setActivePinia(pinia
): undefined
| Pinia
Вмикає або вимикає активну Pinia. Використовується в SSR та внутрішньо для виклику дій та гетерів.
Параметри
Ім'я | Тип | Опис |
---|---|---|
pinia | undefined | Pinia | Екземпляр Pinia |
Повертає
undefined
| Pinia
setMapStoreSuffix
▸ setMapStoreSuffix(suffix
): void
Змінює суфікс, доданий mapStores()
. Може бути задано порожнім рядком. За замовчуванням "Store"
. Переконайтеся, що ви розширили інтерфейс MapStoresCustomization, якщо ви використовуєте TypeScript.
Параметри
Ім'я | Тип | Опис |
---|---|---|
suffix | string | новий суфікс |
Повертає
void
skipHydrate
▸ skipHydrate<T
>(obj
): T
Дозволяє Pinia пропустити процес гідратації даного об'єкта. Це корисно лише у налаштуваннях сховища, коли ви повертаєте об'єкт зі станом у сховищі, який насправді не є станом, наприклад, повернення екземпляра маршрутизатора зі сховища налаштувань. об'єкт зі станом у сховищі, який насправді не є станом, наприклад, повернення екземпляра маршрутизатора у налаштуваннях сховища.
Параметри типу
Ім'я | Тип |
---|---|
T | any |
Параметри
Ім'я | Тип | Опис |
---|---|---|
obj | T | цільовий об'єкт |
Повертає
T
obj
storeToRefs
▸ storeToRefs<SS
>(store
): StoreToRefs
<SS
>
Створює об'єкт референції на всі властивості стану, гетери та додані плагінами властивості стану сховища. Подібний до toRefs()
, але спеціально розроблений для сховищ Pinia, тому методи та нереактивні властивості повністю ігноруються.
Параметри типу
Ім'я | Тип |
---|---|
SS | extends StoreGeneric |
Параметри
Ім'я | Тип | Опис |
---|---|---|
store | SS | сховище для витягування референцій |
Повертає
StoreToRefs
<SS
>