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 が導入されました。 |