跳到主要内容

unstable_noStore

在版本 15 中,我们建议使用 connection 而不是 unstable_noStore

unstable_noStore 可用于声明性地选择退出静态渲染,并指示特定组件不应被缓存。

import { unstable_noStore as noStore } from 'next/cache';

export default async function ServerComponent() {
noStore();
const result = await db.query(...);
...
}

提示

  • unstable_noStore 等同于 fetch 上的 cache: 'no-store'
  • unstable_noStoreexport 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(...);
...
}

版本历史

版本更改
v15.0.0unstable_noStoreconnection 弃用。
v14.0.0引入了 unstable_noStore