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.0 | unstable_noStore はconnection のために非推奨になりました。 |
v14.0.0 | unstable_noStore が導入されました。 |
お役に立ちましたか?