Menu

staleTimes

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

実験的なstaleTimesフラグを設定することで、この実験的な機能を有効にし、カスタムの再検証時間を提供できます:

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

staticdynamicのプロパティは、異なる種類のリンクプリフェッチングに基づいて、時間期間(秒単位)に対応しています。

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

補足:

  • ローディング境界は、この設定で定義されたstatic期間で再利用可能と見なされます。
  • これは部分的レンダリングに影響を与えません。つまり、共有レイアウトは、変更されるページセグメントのみで、自動的に再フェッチされることはありません。
  • これは、レイアウトシフトを防ぎ、ブラウザのスクロール位置を失うことを防ぐための戻る/進む キャッシュの動作を変更しません。

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

バージョン履歴

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