unstable_noStore
此 API 目前不稳定,可能会发生变化。
此 API 将在将来弃用。在版本 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_noStore
比export 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(...);
...
}
版本历史
版本 | 更改 |
---|---|
v14.0.0 | 引入 unstable_noStore 。 |
这有帮助吗?