In version 15, we recommend using connection instead of unstable_noStore.
unstable_noStore can be used to declaratively opt out of prerendering and indicate a particular component should not be cached.
export default async function ServerComponent() {
noStore();
const result = await db.query(...);
...
}Good to know: -unstable_noStoreis equivalent tocache: 'no-store'on afetch-unstable_noStoreis preferred overexport const dynamic = 'force-dynamic'as it is more granular and can be used on a per-component basis
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.If you prefer not to pass additional options to fetch, like cache: 'no-store', next: { revalidate: 0 } or in cases where fetch is not available, you can use noStore() as a replacement for all of these use cases.
export default async function ServerComponent() {
noStore();
const result = await db.query(...);
...
}| Version | Changes |
|---|---|
v15.0.0 | unstable_noStore deprecated for connection. |
v14.0.0 | unstable_noStore introduced. |