unstable_noStore
unstable_noStoreは、静的レンダリングを宣言的にオプトアウトし、特定の component がキャッシュされないように指示するために使用することができます。
import { unstable_noStore as noStore } from 'next/cache';
export default async function Component() {
noStore();
const result = await db.query(...);
...
}
Good to know:
unstable_noStoreはfetch上のcache: 'no-store'と同等ですunstable_noStoreは、より細かく、コンポーネントごとに使用できるため、export const dynamic = 'force-dynamic'よりも優先されます
unstable_noStoreをunstable_cache内で使用しても、静的生成からのオプトアウトはされません。代わりに、cache の設定に従って結果を cache するかどうかを決定します。
Usage
fetchに追加の options を渡すことを好まない場合、例えば cache: 'no-store'やnext: { revalidate: 0 }のようなもの、これらすべての使用ケースに対する代わりとしてnoStore()を使用することができます。
import { unstable_noStore as noStore } from 'next/cache';
export default async function Component() {
noStore();
const result = await db.query(...);
...
}
Version History
| Version | Changes |
|---|---|
v14.0.0 | unstable_noStoreが導入されました。 |