StaleTimes (экспериментальная функция)
Внимание: Конфигурация
staleTimes
является экспериментальной функцией. Эта стратегия конфигурации, вероятно, изменится в будущем.
staleTimes
— это экспериментальная функция, позволяющая настраивать период инвалидации кэша клиентского роутера.
Эта опция конфигурации доступна начиная с версии v14.2.0-canary.53.
Вы можете включить эту экспериментальную функцию и задать собственное время повторной валидации, установив экспериментальный флаг staleTimes
:
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
staleTimes: {
dynamic: 30,
static: 180,
},
},
}
module.exports = nextConfig
Свойства static
и dynamic
соответствуют периоду времени (в секундах) для разных типов префетчинга ссылок.
- Свойство
dynamic
используется, когда страница не сгенерирована статически и не полностью префетчена (т.е. с prefetch=).- По умолчанию: 0 секунд (не кэшируется)
- Свойство
static
используется для статически сгенерированных страниц, или когда свойствоprefetch
компонентаLink
установлено вtrue
, или при вызовеrouter.prefetch
.- По умолчанию: 5 минут
Полезно знать:
- Границы загрузки (Loading boundaries) считаются переиспользуемыми в течение периода
static
, заданного в этой конфигурации.- Это не влияет на частичный рендеринг (partial rendering), то есть общие макеты не будут автоматически перезапрашиваться при каждой навигации — только изменяемый сегмент страницы.
- Это не меняет поведение кэширования при навигации назад/вперёд (back/forward caching), которое предотвращает сдвиги макета и потерю позиции прокрутки в браузере.
Подробнее о кэше клиентского роутера можно узнать здесь.
История версий
Версия | Изменения |
---|---|
v14.2.0 | добавлена экспериментальная функция staleTimes |