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 = nextConfigLas 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
dynamicse 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
staticse utiliza para páginas generadas estáticamente, o cuando la propiedadprefetchenLinkse 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
staticdefinido 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. |