跳到內容

staleTimes

此功能目前為實驗性質,可能會有所變更,不建議用於生產環境。請試用並在 GitHub 上分享您的意見回饋。

staleTimes 是一項實驗性功能,可在客戶端路由器快取中啟用頁面區段的快取。

您可以啟用此實驗性功能,並透過設定實驗性的 staleTimes 標記來提供自訂的重新驗證時間。

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

staticdynamic 屬性對應於基於不同類型連結預先抓取的時間週期(以秒為單位)。

  • 當頁面既非靜態產生也未完全預先抓取(例如使用 prefetch={true})時,會使用 dynamic 屬性。
    • 預設值:0 秒(未快取)
  • static 屬性用於靜態產生的頁面,或當 Link 上的 prefetch 屬性設定為 true 時,或當呼叫 router.prefetch 時。
    • 預設值:5 分鐘

小知識

  • 載入邊界被認為可重複用於此設定中定義的 static 期間。
  • 這不會影響部分渲染表示共用版面配置不會在每次導航時自動重新抓取,只會重新抓取變更的頁面區段。
  • 這不會變更返回/前進快取行為,以防止版面配置偏移並防止遺失瀏覽器捲動位置。

您可以在此處瞭解更多關於客戶端路由器快取的資訊。

版本歷史

版本變更
v15.0.0dynamic staleTimes 預設值從 30 秒變更為 0 秒。
v14.2.0引入實驗性 staleTimes