跳至内容

staleTimes

此 API 目前处于实验阶段,可能会发生变化。

staleTimes 是一项实验性功能,它允许在客户端路由器缓存中缓存页面段。

您可以启用此实验性功能并提供自定义重新验证时间,方法是设置实验性 staleTimes 标志

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

staticdynamic 属性对应于基于不同类型的链接预取的时间段(以秒为单位)。

  • 当页面既不是静态生成的也不是完全预取的(即,prefetch= 时)时,将使用 dynamic 属性。).
    • 默认值:0 秒(未缓存)
  • static 属性用于静态生成的页面,或当 Link 上的 prefetch 属性设置为 true 时,或当调用router.prefetch时。
    • 默认值:5 分钟

值得注意的是

  • 加载边界被认为在此配置中定义的 static 周期内是可重用的。
  • 这不会影响部分渲染,**这意味着共享布局不会在每次导航时自动重新获取,只有发生更改的页面段才会重新获取。**
  • 这不会更改后退/前进缓存行为,以防止布局偏移并防止丢失浏览器滚动位置。

您可以在此处了解更多关于客户端路由器缓存的信息。

版本历史记录

版本更改
v15.0.0dynamic staleTimes 的默认值已从 30 秒更改为 0 秒。
v14.2.0引入了实验性 staleTimes