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
が有効になっている場合、次のキャッシュ関数と構成が使用できます:
use cache
ディレクティブcacheLife
関数をuse cache
とともに使用cacheTag
関数
注意点
dynamicIO
は、ランタイム中に新しいデータフェッチを保証することでパフォーマンスを最適化できますが、プリレンダリングされたコンテンツを提供するのに比べて追加の遅延が発生する可能性があります。