useHydration
Permite el control total del ciclo de hidratación para establecer y recibir datos del servidor.
Este es un composable avanzado, diseñado principalmente para su uso dentro de plugins, utilizado mayormente por módulos de Nuxt.
useHydration
está diseñado para asegurar la sincronización y restauración del estado durante SSR. Si necesitas crear un estado reactivo global que sea compatible con SSR en Nuxt, se recomienda usar useState
.
useHydration
es un composable incorporado que proporciona una forma de establecer datos en el lado del servidor cada vez que se realiza una nueva solicitud HTTP y recibir esos datos en el lado del cliente. De esta manera, useHydration
te permite tomar el control total del ciclo de hidratación.
Los datos devueltos por la función get
en el servidor se almacenan en nuxtApp.payload
bajo la clave única proporcionada como el primer parámetro a useHydration
. Durante la hidratación, estos datos se recuperan en el cliente, evitando cálculos redundantes o llamadas a la API.
Uso
export default defineNuxtPlugin((nuxtApp) => {
const myStore = new MyStore()
if (import.meta.server) {
nuxt.hooks.hook('app:rendered', () => {
nuxtApp.payload.myStoreState = myStore.getState()
})
}
if (import.meta.client) {
nuxt.hooks.hook('app:created', () => {
myStore.setState(nuxtApp.payload.myStoreState)
})
}
})
Tipo
useHydration <T> (key: string, get: () => T, set: (value: T) => void) => void
Parámetros
key
: Una clave única que identifica los datos en tu aplicación Nuxt.get
: Una función ejecutada solo en el servidor (llamada cuando se completa el renderizado SSR) para establecer el valor inicial.set
: Una función ejecutada solo en el cliente (llamada cuando se crea la instancia inicial de Vue) para recibir los datos.
※Esta página es una traducción no oficial de la documentación oficial de Nuxt.js.
La página correspondiente en la documentación oficial está aquí:
https://nuxt.com/docs/3.x/api/composables/use-hydration