Menu

staleTimes

staleTimesは、クライアントサイドルーターキャッシュ内のページセグメントのキャッシング機能を有効にする実験的機能です。

この実験的機能を有効にして、カスタム再検証時間を指定するには、experimental staleTimesフラグを設定します:

next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    staleTimes: {
      dynamic: 30,
      static: 180,
    },
  },
}
 
module.exports = nextConfig

staticおよびdynamicプロパティは、リンクプリフェッチの異なるタイプに基づいた時間期間(秒単位)に対応しています。

  • dynamicプロパティは、ページが静的生成されておらず、完全にプリフェッチされていない場合に使用されます(例:prefetch={true})。
    • デフォルト:0秒(キャッシュなし)
  • staticプロパティは、静的生成されたページ、またはLinkprefetchプロップがtrueに設定されている場合、あるいはrouter.prefetchを呼び出した場合に使用されます。
    • デフォルト:5分

補足:

  • Loading boundariesは、この設定で定義されたstatic期間内で再利用可能と見なされます。
  • これは部分的なレンダリングに影響しません。つまり、共有レイアウトはナビゲーションのたびに自動的に再取得されず、変更されたページセグメントのみが再取得されます。
  • これは戻る/進む操作のキャッシング動作を変更しません。これはレイアウトシフトを防ぎ、ブラウザのスクロール位置の喪失を防ぐためです。

クライアントサイドルーターキャッシュについて詳しくは、こちらをご覧ください。

バージョン履歴

バージョン変更内容
v15.0.0dynamic staleTimesのデフォルトが30秒から0秒に変更されました。
v14.2.0導入時期:実験的staleTimes