dynamicIO
dynamicIO
标志是 Next.js 中的一个实验性功能,它会导致 App 路由中的数据获取操作从预渲染中排除,除非它们被明确缓存。这对于优化服务端组件中动态数据获取的性能很有用。
如果你的应用程序需要在运行时进行新鲜的数据获取而不是从预渲染缓存提供服务,这会很有用。
它预计与 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
时,你可以使用以下缓存函数和配置:
use cache
指令- 与
use cache
一起使用的cacheLife
函数 cacheTag
函数
注意事项
- 虽然
dynamicIO
可以通过确保运行时的新鲜数据获取来优化性能,但与提供预渲染内容相比,它也可能引入额外的延迟。