staleTimes
staleTimes
es una característica experimental que permite el almacenamiento en caché de segmentos de página en la caché del enrutador del lado del cliente (Client Router Cache).
Puede habilitar esta característica experimental y proporcionar tiempos de revalidación personalizados configurando la bandera experimental staleTimes
:
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
staleTimes: {
dynamic: 30,
static: 180,
},
},
}
module.exports = nextConfig
Las propiedades static
y dynamic
corresponden con el período de tiempo (en segundos) basado en diferentes tipos de precarga de enlaces (link prefetching).
- La propiedad
dynamic
se utiliza cuando la página no se genera estáticamente ni se precarga completamente (por ejemplo, conprefetch={true}
).- Valor predeterminado: 0 segundos (no se almacena en caché)
- La propiedad
static
se utiliza para páginas generadas estáticamente, o cuando la propiedadprefetch
enLink
se establece entrue
, o cuando se llama arouter.prefetch
.- Valor predeterminado: 5 minutos
Es bueno saber:
- Los límites de carga (Loading boundaries) se consideran reutilizables durante el período
static
definido en esta configuración.- Esto no afecta el renderizado parcial (partial rendering), lo que significa que los diseños compartidos no se volverán a cargar automáticamente en cada navegación, solo el segmento de página que cambie.
- Esto no cambia el comportamiento del almacenamiento en caché de avance/retroceso (back/forward caching) para evitar cambios en el diseño y perder la posición de desplazamiento del navegador.
Puede obtener más información sobre la caché del enrutador del lado del cliente (Client Router Cache) aquí.
Historial de versiones
Versión | Cambios |
---|---|
v15.0.0 | El valor predeterminado de dynamic en staleTimes cambió de 30s a 0s. |
v14.2.0 | Se introdujo staleTimes como característica experimental. |