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