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

unstable_noStore

バージョン履歴15では、connectionの使用を unstable_noStore の代わりに推奨しています。

unstable_noStore は、静的レンダリングを宣言的に無効にし、特定のコンポーネントがキャッシュされないようにするために使用できます。

import { unstable_noStore as noStore } from 'next/cache';

export default async function ServerComponent() {
noStore();
const result = await db.query(...);
...
}

Good to know:

  • unstable_noStorefetchcache: 'no-store' と同等です
  • unstable_noStore は、より細かく制御でき、コンポーネント単位で使用できるため、export const dynamic = 'force-dynamic' よりも推奨されます
  • unstable_cache 内で unstable_noStore を使用しても、静的生成からは外れません。代わりに、キャッシュ構成に従って結果をキャッシュするかどうかが決定されます

使用方法

fetchcache: 'no-store'next: { revalidate: 0 } などの追加オプションを渡したくない場合、または fetch が利用できない場合には、これらすべてのユースケースの代替として noStore() を使用できます。

import { unstable_noStore as noStore } from 'next/cache';

export default async function ServerComponent() {
noStore();
const result = await db.query(...);
...
}

バージョン履歴

バージョン変更点
v14.0.0unstable_noStore が導入されました