Documentación de la API / pinia / DefineStoreOptionsInPlugin
Interfaz: DefineStoreOptionsInPlugin<Id, S, G, A>
pinia.DefineStoreOptionsInPlugin
Opciones disponibles al crear un plugin de pinia.
Tipado de los parámetros
| Nombre | Tipo |
|---|---|
Id | extiende string |
S | extiende StateTree |
G | G |
A | A |
Jerarquía
Omit<DefineStoreOptions<Id,S,G,A>,"id"|"actions">↳
DefineStoreOptionsInPlugin
Propiedades
actions
• actions: A
Objeto extraído de acciones. Agregado por useStore() cuando el almacén se construye utilizando la API de configuración, de lo contrario utiliza la que se pasa a defineStore(). Por defecto es un objeto vacío si no hay acciones definidas.
getters
• Opcional getters: G & ThisType<UnwrapRef<S> & _StoreWithGetters<G> & PiniaCustomProperties<string, StateTree, _GettersTree<StateTree>, _ActionsTree>> & _GettersTree<S>
Objeto opcional de getters.
Heredado de
Omit.getters
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 el tipado correcto.
Retorna {#returns}
S
Heredado de
Omit.state
Métodos
hydrate
▸ Opcional hydrate(storeState, initialState): void
Permite hidratar el almacén durante el SSR cuando se utilizan estados complejos (como refs sólo 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 cualquier customRefs, cualquier computeds, o cualquier refs que tenga un valor diferente en el Servidor y en el Cliente, necesitas hidratarlos 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
Heredado de
Omit.hydrate