staleTimes
staleTimesは、クライアントサイドルーターキャッシュ内のページセグメントのキャッシング機能を有効にする実験的機能です。
この実験的機能を有効にして、カスタム再検証時間を指定するには、experimental staleTimesフラグを設定します:
next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
staleTimes: {
dynamic: 30,
static: 180,
},
},
}
module.exports = nextConfigstaticおよびdynamicプロパティは、リンクプリフェッチの異なるタイプに基づいた時間期間(秒単位)に対応しています。
dynamicプロパティは、ページが静的生成されておらず、完全にプリフェッチされていない場合に使用されます(例:prefetch={true})。- デフォルト:0秒(キャッシュなし)
staticプロパティは、静的生成されたページ、またはLinkのprefetchプロップがtrueに設定されている場合、あるいはrouter.prefetchを呼び出した場合に使用されます。- デフォルト:5分
補足:
- Loading boundariesは、この設定で定義された
static期間内で再利用可能と見なされます。- これは部分的なレンダリングに影響しません。つまり、共有レイアウトはナビゲーションのたびに自動的に再取得されず、変更されたページセグメントのみが再取得されます。
- これは戻る/進む操作のキャッシング動作を変更しません。これはレイアウトシフトを防ぎ、ブラウザのスクロール位置の喪失を防ぐためです。
クライアントサイドルーターキャッシュについて詳しくは、こちらをご覧ください。
バージョン履歴
| バージョン | 変更内容 |
|---|---|
v15.0.0 | dynamic staleTimesのデフォルトが30秒から0秒に変更されました。 |
v14.2.0 | 導入時期:実験的staleTimes。 |