Skip to content
En esta página

Documentación de la API / pinia / DefineStoreOptions

Interfaz: DefineStoreOptions<Id, S, G, A> ​

pinia.DefineStoreOptions

Parámetro de opciones de defineStore() para almacenes de opciones. Puede extenderse para aumentar los almacenes con el API de plugins.

Vea

DefineStoreOptionsBase.

Tipado de los parámetros ​

NombreTipo
Idextiende string
Sextiende StateTree
GG
AA

Jerarquía ​

Propiedades ​

actions ​

• Opcional actions: A & ThisType<A & UnwrapRef<S> & _StoreWithState<Id, S, G, A> & _StoreWithGetters<G> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree>>

Objecto opcional de acciones.


getters ​

• Opcional getters: G & ThisType<UnwrapRef<S> & _StoreWithGetters<G> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree>> & _GettersTree<S>

Objecto opcional de getters.


id ​

• id: Id

Código de string único para identificar el almacén en la aplicación.


state ​

• Opcional state: () => S

Tipado de la declaración ​

▸ (): S

Función para crear un nuevo estado. Debe ser una función de flecha para asegurar tipado correcto.

Retorna ​

S

Métodos ​

hydrate ​

▸ Opcional hydrate(storeState, initialState): void

Permite hidratar el almacén durante el SSR cuando se utilizan estados complejos (como refs que sólo existen del lado del cliente) en la definición del almacén y copiar el valor de pinia.state no es suficiente.

Ejemplo

Si en tu state utilizas customRefs, computeds, o refs que tienen un valor diferente en el Servidor y en el Cliente, es necesario que los hidrates manualmente. Por ejemplo, una ref personalizada que se almacena en el almacenamiento local:

ts
const useStore = defineStore('main', {
  state: () => ({
    n: useLocalStorage('key', 0)
  }),
  hydrate(storeState, initialState) {
    // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/43826
    storeState.n = useLocalStorage('key', 0)
  }
})
const useStore = defineStore('main', {
  state: () => ({
    n: useLocalStorage('key', 0)
  }),
  hydrate(storeState, initialState) {
    // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/43826
    storeState.n = useLocalStorage('key', 0)
  }
})

Parámetros ​

NombreTipoDescripción
storeStateUnwrapRef<S>el estado actual en el almacén
initialStateUnwrapRef<S>initialState

Returns ​

void

Lanzado bajo la Licencia MIT.