connection
connection() 函数允许你指示渲染应该等待传入的用户请求后再继续。
当组件没有使用 Dynamic APIs,但你希望它在运行时动态渲染而不是在构建时静态渲染时,这个函数很有用。这通常发生在你访问外部信息时,你故意想要改变渲染的结果,例如 Math.random() 或 new Date()。
app/page.tsx
TypeScript
import { connection } from 'next/server'
export default async function Page() {
await connection()
// 下面的所有内容都将被排除在预渲染之外
const rand = Math.random()
return <span>{rand}</span>
}参考
类型
function connection(): Promise<void>参数
- 该函数不接受任何参数。
返回值
- 该函数返回一个
voidPromise。它不是用来被消费的。
值得注意的是
connection取代了unstable_noStore,以更好地与 Next.js 的未来保持一致。- 该函数仅在需要动态渲染且未使用常见 Dynamic APIs 时才有必要。
版本历史
| Version | Changes |
|---|---|
v15.0.0 | connection 稳定。 |
v15.0.0-RC | 引入 connection。 |