Skip to content
En esta página

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}

NombreTipo
Idextiende string
Sextiende StateTree
GG
AA

Jerarquía {#hierarchy}

Propiedades {#properties}

$id {#id}

$id: Id

Identificador único del almacén

Heredado de {#inherited-from}

StoreProperties.$id


$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 invoca
  • name: El nombre de la acción
  • args: 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

js
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}

NombreTipoDescripción
callbackStoreOnActionListener<Id, S, G, A>callback llamado antes de cada acción
detached?booleandesvincular 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 invoca
  • name: El nombre de la acción
  • args: 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

js
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}

NombreTipoDescripció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}

NombreTipo
Fextiende (state: UnwrapRef<S>) => any

Parámetros {#parameters-2}

NombreTipoDescripción
stateMutatorReturnType<F> extiende Promise<any> ? never : Ffunció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}

NombreTipoDescripción
callbackSubscriptionCallback<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

Lanzado bajo la Licencia MIT.