Menu

unstable_noStore

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

unstable_noStoreは、静的レンダリングからオプトアウトし、特定のコンポーネントをキャッシュしないよう宣言的に指示するために使用できます。

import { unstable_noStore as noStore } from 'next/cache';
 
export default async function ServerComponent() {
  noStore();
  const result = await db.query(...);
  ...
}

補足:

  • unstable_noStorefetchcache: 'no-store'と同等です
  • unstable_noStoreexport 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.0導入時期:unstable_noStore