Documentación de la API / pinia / _StoreWithState
Interfaz: _StoreWithState<Id, S, G, A>
pinia._StoreWithState
Almacén base con estado y funciones. No debe utilizarse directamente.
Tipado de los parámetros
Nombre | Tipo |
---|---|
Id | extiende string |
S | extiende StateTree |
G | G |
A | A |
Jerarquía
StoreProperties
<Id
>↳
_StoreWithState
Propiedades
$id
• $id: Id
Identificador único del almacén
Heredado de
$state
• $state: UnwrapRef
<S
> & PiniaCustomStateProperties
<S
>
Estado del almacén. Al establecerlo se llamará internamente a $patch()
para actualizar el estado.
_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
StoreProperties._customProperties
Methods
$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. Nota: esto no borra el estado del almacén, si quieres hacerlo tienes que hacerlo manualmente con delete pinia.state.value[store.$id]
. Si no quieres y el almacén vuelve a ser usado de nuevo se volverá a usar el estado anterior.
Returns
void
$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 }) => {
// Aquí puedes compartir variables entre todos los hooks así como
// establecer observadores y limpiarlos
after((resolvedValue) => {
// puede ser usado para limpiar efectos secundarios
// `resolvedValue` es el valor retornado por la acción, si es una
// Promesa, será el valor resuelto en vez de la Promesa
})
onError((error) => {
// puede ser usado para pasar errores
})
})
store.$onAction(({ after, onError }) => {
// Aquí puedes compartir variables entre todos los hooks así como
// establecer observadores y limpiarlos
after((resolvedValue) => {
// puede ser usado para limpiar efectos secundarios
// `resolvedValue` es el valor retornado por la acción, si es una
// Promesa, será el valor resuelto en vez de la Promesa
})
onError((error) => {
// puede ser usado para pasar errores
})
})
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
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 }) => {
// Aquí puedes compartir variables entre todos los hooks así como
// establecer observadores y limpiarlos
after((resolvedValue) => {
// puede ser usado para limpiar efectos secundarios
// `resolvedValue` es el valor retornado por la acción, si es una
// Promesa, será el valor resuelto en vez de la Promesa
})
onError((error) => {
// puede ser usado para pasar errores
})
})
store.$onAction(({ after, onError }) => {
// Aquí puedes compartir variables entre todos los hooks así como
// establecer observadores y limpiarlos
after((resolvedValue) => {
// puede ser usado para limpiar efectos secundarios
// `resolvedValue` es el valor retornado por la acción, si es una
// Promesa, será el valor resuelto en vez de la Promesa
})
onError((error) => {
// puede ser usado para pasar errores
})
})
Retorna
void
función que elimina el observador
$patch
▸ $patch(partialState
): void
Aplica un patch de estado al estado actual. Permite pasar valores anidados
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
partialState | _DeepPartial <UnwrapRef <S >> | patch para aplicar al estado |
Retorna
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
Nombre | Tipo |
---|---|
F | extiende (state : UnwrapRef <S >) => any |
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
stateMutator | ReturnType <F > extiende Promise <any > ? never : F | función que muta state , no puede ser async |
Retorna
void
$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
void
$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
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
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
void
función que elimina el observador