Skip to main content

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 to cache: 'no-store' on a fetch
  • unstable_noStore is preferred over export const dynamic = 'force-dynamic' as it is more granular and can be used on a per-component basis
  • Using unstable_noStore inside unstable_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​

VersionChanges
v14.0.0unstable_noStore introduced.