dynamicIO

dynamicIO 是 Next.js 的一项实验性功能,它会使应用路由 (App Router) 中的数据获取操作在预渲染时被排除,除非这些操作被显式缓存。该功能可用于优化服务端组件 (Server Components) 中动态数据获取的性能。

当您的应用需要在运行时获取最新数据而非使用预渲染缓存时,此功能尤为有用。

建议与 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 能通过确保运行时获取最新数据来优化性能,但与提供预渲染内容相比,可能会引入额外的延迟。

On this page