StaleTimes(実験的機能)

警告: staleTimes 設定は実験的機能です。この設定方法は将来変更される可能性があります。

staleTimes は、クライアントルーターキャッシュの無効化期間を設定できる実験的機能です。

この設定オプションは v14.2.0-canary.53 以降で利用可能です。

実験的機能を有効にし、カスタムの再検証時間を設定するには、実験的フラグ 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 期間中に再利用可能と見なされます。
  • これは部分レンダリングには影響しません。つまり、共有レイアウトはナビゲーションごとに自動的に再取得されず、変更されるページセグメントのみが対象となります。
  • これは戻る/進むキャッシュの動作を変更せず、レイアウトシフトを防ぎ、ブラウザのスクロール位置を保持します。

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

バージョン履歴

バージョン変更内容
v14.2.0実験的機能 staleTimes が導入されました