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
Tipado de los parámetros
Nombre | Tipo |
---|---|
Id | extiende string |
S | extiende StateTree |
G | G |
A | A |
Jerarquía
DefineStoreOptionsBase
<S
,Store
<Id
,S
,G
,A
>>↳
DefineStoreOptions
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 customRef
s, computed
s, o ref
s 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:
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
Nombre | Tipo | Descripción |
---|---|---|
storeState | UnwrapRef <S > | el estado actual en el almacén |
initialState | UnwrapRef <S > | initialState |
Returns
void