メインコンテンツまでスキップ

dynamicIO

dynamicIOフラグはNext.jsの実験的機能で、App Routerでのデータフェッチ操作が明示的にキャッシュされない限り、プリレンダーから除外されることを可能にします。これは、server componentでの動的データフェッチのパフォーマンスを最適化する際に役立ちます。

アプリケーションがプリレンダリングされたキャッシュから提供するのではなく、ランタイムで新しいデータフェッチを必要とする場合に便利です。

この機能は、use cacheと併用することが想定されており、特定のアプリケーションの一部をページ、関数、またはコンポーネントレベルでuse cacheとしてキャッシュすることを定義しない限り、データフェッチはデフォルトでランタイムに行われます。

使用法

dynamicIOフラグを有効にするには、next.config.tsファイルのexperimentalセクションでそれをtrueに設定します:

next.config.ts
import type { NextConfig } from 'next'

// experimentalセクションでdynamicIOフラグをtrueに設定
const nextConfig: NextConfig = {
experimental: {
dynamicIO: true,
},
}

export default nextConfig

dynamicIOが有効になっている場合、次のキャッシュ関数と構成が使用できます:

注意点

  • dynamicIOは、ランタイム中に新しいデータフェッチを保証することでパフォーマンスを最適化できますが、プリレンダリングされたコンテンツを提供するのに比べて追加の遅延が発生する可能性があります。