跳到内容

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.0dynamicstaleTimes 默认值从 30 秒更改为 0 秒。
v14.2.0引入了实验性的 staleTimes