Documentación de la API / pinia / _StoreWithState
Interfaz: _StoreWithState<Id, S, G, A> {#interface-storewithstate-id-s-g-a}
pinia._StoreWithState
Almacén base con estado y funciones. No debe utilizarse directamente.
Tipado de los parámetros {#type-parameters}
Nombre | Tipo |
---|---|
Id | extiende string |
S | extiende StateTree |
G | G |
A | A |
Jerarquía {#hierarchy}
StoreProperties
<Id
>↳
_StoreWithState
Propiedades {#properties}
$id {#id}
• $id: Id
Identificador único del almacén
Heredado de {#inherited-from}
$state {#state}
• $state: UnwrapRef
<S
> & PiniaCustomStateProperties
<S
>
Estado del almacén. Establecerlo reemplazará todo el estado.
_customProperties {#customproperties}
• _customProperties: Set
<string
>
Usado por el plugin devtools para obtener propiedades añadidas con plugins. Eliminado en producción. Puede ser usado por el usuario para añadir claves de propiedades del almacén que deberían mostrarse en devtools.
Heredado de {#inherited-from-1}
StoreProperties._customProperties
Methods {#methods}
$dispose {#dispose}
▸ $dispose(): void
Detiene el alcance del efecto asociado al almacén y lo elimina del registro. Los plugins pueden sobrescribir este método para limpiar cualquier efecto añadido. Por ejemplo, el plugin devtools deja de mostrar los almacenes desechados desde devtools.
Returns {#returns}
void
$onAction {#onaction}
▸ $onAction(callback
, detached?
): () => void
Establece un callback cada vez que una acción está a punto de ser invocada. El callback recibe un objeto con toda la información relevante de la acción invocada:
store
: el almacén sobre el que se invocaname
: El nombre de la acciónargs
: Los parámetros pasados a la acción
Además de esto, recibe dos funciones que permiten establecer un callback una vez que la acción finaliza o cuando falla.
También devuelve una función para eliminar el callback. Ten en cuenta que al llamar a store.$onAction()
dentro de un componente, se limpiará automáticamente cuando el componente sea desmontado a menos que detached
sea true.
Ejemplo
store.$onAction(({ after, onError }) => {
// Here you could share variables between all of the hooks as well as
// setting up watchers and clean them up
after((resolvedValue) => {
// can be used to cleanup side effects
. // `resolvedValue` is the value returned by the action, if it's a
. // Promise, it will be the resolved value instead of the Promise
})
onError((error) => {
// can be used to pass up errors
})
})
store.$onAction(({ after, onError }) => {
// Here you could share variables between all of the hooks as well as
// setting up watchers and clean them up
after((resolvedValue) => {
// can be used to cleanup side effects
. // `resolvedValue` is the value returned by the action, if it's a
. // Promise, it will be the resolved value instead of the Promise
})
onError((error) => {
// can be used to pass up errors
})
})
Parameters {#parameters}
Nombre | Tipo | Descripción |
---|---|---|
callback | StoreOnActionListener <Id , S , G , A > | callback llamado antes de cada acción |
detached? | boolean | desvincular la suscripción del contexto desde el que se llama a esta opción |
Returns {#returns-1}
fn
función que elimina el observador
▸ (): void
Establece un callback cada vez que una acción está a punto de ser invocada. El callback recibe un objeto con toda la información relevante de la acción invocada:
store
: el almacén sobre el que se invocaname
: El nombre de la acciónargs
: Los parámetros pasados a la acción
Además de esto, recibe dos funciones que permiten establecer un callback una vez que la acción finaliza o cuando falla.
También devuelve una función para eliminar el callback. Ten en cuenta que al llamar a store.$onAction()
dentro de un componente, se limpiará automáticamente cuando el componente sea desmontado a menos que detached
sea true.
Ejemplo
store.$onAction(({ after, onError }) => {
// Here you could share variables between all of the hooks as well as
// setting up watchers and clean them up
after((resolvedValue) => {
// can be used to cleanup side effects
. // `resolvedValue` is the value returned by the action, if it's a
. // Promise, it will be the resolved value instead of the Promise
})
onError((error) => {
// can be used to pass up errors
})
})
store.$onAction(({ after, onError }) => {
// Here you could share variables between all of the hooks as well as
// setting up watchers and clean them up
after((resolvedValue) => {
// can be used to cleanup side effects
. // `resolvedValue` is the value returned by the action, if it's a
. // Promise, it will be the resolved value instead of the Promise
})
onError((error) => {
// can be used to pass up errors
})
})
Retorna {#returns-2}
void
función que elimina el observador
$patch {#patch}
▸ $patch(partialState
): void
Aplica un patch de estado al estado actual. Permite pasar valores anidados
Parámetros {#parameters-1}
Nombre | Tipo | Descripción |
---|---|---|
partialState | _DeepPartial <UnwrapRef <S >> | patch para aplicar al estado |
Retorna {#returns-3}
void
▸ $patch<F
>(stateMutator
): void
Agrupa múltiples cambios en una función. Útil cuando se mutan objetos como Sets o arrays y aplicar un patch a un objeto no es práctico, por ejemplo, añadir a un array. La función pasada a $patch()
debe ser síncrona.
Tipado de los parámetros {#type-parameters-1}
Nombre | Tipo |
---|---|
F | extiende (state : UnwrapRef <S >) => any |
Parámetros {#parameters-2}
Nombre | Tipo | Descripción |
---|---|---|
stateMutator | ReturnType <F > extiende Promise <any > ? never : F | función que muta state , no puede ser async |
Retorna {#returns-4}
void
$reset {#reset}
▸ $reset(): void
Reinicia el almacén a su estado inicial mediante la construcción de un nuevo objeto de estado. TODO: hacer esto solo para almacenes de opciones
Retorna {#returns-5}
void
$subscribe {#subscribe}
▸ $subscribe(callback
, options?
): () => void
Establece un callback que se llamará cada vez que cambie el estado. También devuelve una función para eliminar el callback. Ten en cuenta que cuando se llama a store.$subscribe()
dentro de un componente, se limpiará automáticamente cuando el componente se desmonte a menos que detached
sea true.
Parámetros {#parameters-3}
Nombre | Tipo | Descripción |
---|---|---|
callback | SubscriptionCallback <S > | callback pasado al observador |
options? | { detached? : boolean } & WatchOptions <boolean > | opciones de watch + detached para desvincular la suscripción del contexto (normalmente un componente) desde el que se llama. Ten en cuenta que la opción flush no afecta a las llamadas a store.$patch() . |
Retorna {#returns-6}
fn
función que elimina el observador
▸ (): void
Establece un callback que se llamará cada vez que cambie el estado. También devuelve una función para eliminar el callback. Ten en cuenta que cuando se llama a store.$subscribe()
dentro de un componente, se limpiará automáticamente cuando el componente se desmonte a menos que detached
sea true.
Retorna {#returns-7}
void
función que elimina el observador