コンテンツへスキップ

unstable_noStore

このAPIは現在不安定であり、変更される可能性があります。

このAPIは将来廃止される予定です。バージョン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_noStoreは、fetchcache: 'no-store'と同等です。
  • unstable_noStoreは、より粒度が高く、コンポーネントごとに使用できるため、export const dynamic = 'force-dynamic'よりも優先されます。
  • unstable_cache内でunstable_noStoreを使用しても、静的生成はオプトアウトされません。代わりに、結果をキャッシュするかどうかは、キャッシュ設定に従います。

使用方法

cache: 'no-store'などの追加のオプションをfetchに渡したくない場合、または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が導入されました。