跳到内容

dynamicIO

此功能目前在 canary 频道中可用,并且可能会发生更改。通过升级 Next.js 尝试使用它,并在 GitHub 上分享您的反馈。

dynamicIO 标志是 Next.js 中的一项实验性功能,它会导致 App Router 中的数据获取操作从预渲染中排除,除非它们被显式缓存。这对于优化服务器组件中动态数据获取的性能非常有用。

如果您的应用程序需要在运行时获取最新数据,而不是从预渲染缓存中提供数据,则此功能非常有用。

它预计与 use cache 结合使用,以便您的数据获取默认在运行时发生,除非您在页面、函数或组件级别使用 use cache 定义应用程序的特定部分进行缓存。

用法

要启用 dynamicIO 标志,请在 next.config.ts 文件的 experimental 部分将其设置为 true

next.config.ts
import type { NextConfig } from 'next'
 
const nextConfig: NextConfig = {
  experimental: {
    dynamicIO: true,
  },
}
 
export default nextConfig

启用 dynamicIO 后,您可以使用以下缓存函数和配置

注意事项

  • 虽然 dynamicIO 可以通过确保在运行时获取最新数据来优化性能,但与提供预渲染内容相比,它也可能会引入额外的延迟。