connection

connection() 函式允許您指定渲染應等待使用者請求後再繼續執行。

當元件不使用動態 API,但您希望它在執行階段動態渲染而非在建置階段靜態渲染時,此函式特別有用。這種情況通常發生在您存取外部資訊且有意改變渲染結果時,例如使用 Math.random()new Date()

import { connection } from 'next/server'

export default async function Page() {
  await connection()
  // 以下內容將被排除在預先渲染之外
  const rand = Math.random()
  return <span>{rand}</span>
}
import { connection } from 'next/server'

export default async function Page() {
  await connection()
  // 以下內容將被排除在預先渲染之外
  const rand = Math.random()
  return <span>{rand}</span>
}

參考

類型

function connection(): Promise<void>

參數

  • 此函式不接受任何參數。

回傳值

  • 此函式回傳一個 void Promise,不應被消費使用。

須知事項

  • connection 取代了 unstable_noStore,以更好地與 Next.js 的未來發展方向保持一致。
  • 僅在需要動態渲染且未使用常見動態 API 時才需使用此函式。

版本歷史

版本變更內容
v15.0.0connection 穩定化。
v15.0.0-RC首次引入 connection