unstable_noStore
unstable_noStore can be used to declaratively opt out of static rendering and indicate a particular component should not be cached.
import { unstable_noStore as noStore } from 'next/cache';
export default async function Component() {
noStore();
const result = await db.query(...);
...
}
Good to know:
unstable_noStoreis equivalent tocache: 'no-store'on afetchunstable_noStoreis preferred overexport const dynamic = 'force-dynamic'as it is more granular and can be used on a per-component basis
- Using
unstable_noStoreinsideunstable_cachewill not opt out of static generation. Instead, it will defer to the cache configuration to determine whether to cache the result or not.
Usage​
If you prefer not to pass additional options to fetch, like cache: 'no-store' or next: { revalidate: 0 }, you can use noStore() as a replacement for all of these use cases.
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 introduced. |