unstable_noStore
バージョン 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(...);
...
}
Good to know:
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(...);
...
}
バージョン履歴
Version | Changes |
---|---|
v14.0.0 | unstable_noStore が導入されました |