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_noStore
is equivalent tocache: 'no-store'
on afetch
unstable_noStore
is preferred overexport const dynamic = 'force-dynamic'
as it is more granular and can be used on a per-component basis
- Using
unstable_noStore
insideunstable_cache
will 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. |