コンテンツへスキップ

unstable_noStore

これはレガシー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は、fetchにおけるcache: 'no-store'と同等です。
  • unstable_noStoreは、より細かく、コンポーネントごとに使用できるため、export const dynamic = 'force-dynamic'よりも推奨されます。
  • unstable_cache内でunstable_noStoreを使用しても、静的生成からオプトアウトされません。代わりに、キャッシュ設定に委ねられ、結果をキャッシュするかどうかが決定されます。

使用方法

fetchに追加オプション(例:cache: '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(...);
  ...
}

バージョン履歴

バージョン変更点
v15.0.0unstable_noStoreconnectionのために非推奨になりました。
v14.0.0unstable_noStoreが導入されました。