跳到內容
簡介應用程式路由器

應用程式路由器

Next.js 應用程式路由器導入了一種新的應用程式建置模型,使用 React 的最新功能,例如 伺服器元件Suspense 串流伺服器動作

透過 建立您的第一個頁面 開始使用應用程式路由器。

常見問題

如何在佈局中存取請求物件?

您無法刻意存取原始請求物件。但是,您可以透過僅限伺服器端的函式存取標頭 (headers)Cookie。您也可以設定 Cookie

佈局不會重新渲染。它們可以被快取並重複使用,以避免在頁面之間導覽時進行不必要的計算。藉由限制佈局存取原始請求,Next.js 可以防止在佈局中執行可能緩慢或昂貴的使用者程式碼,這可能會對效能產生負面影響。

這種設計還可在不同頁面之間強制執行一致且可預測的佈局行為,從而簡化開發和除錯。

根據您正在建構的 UI 模式,平行路由允許您在同一佈局中渲染多個頁面,並且頁面可以存取路由區段以及 URL 搜尋參數。

如何在頁面上存取網址? params 屬性存取路由區段,並透過 searchParams 屬性存取 URL 搜尋參數。

如果您使用的是客戶端元件,則可以使用 usePathnameuseSelectedLayoutSegmentuseSelectedLayoutSegments 來處理更複雜的路由。

此外,根據您正在建構的 UI 模式,平行路由允許您在同一佈局中渲染多個頁面,並且頁面可以存取路由區段以及 URL 搜尋參數。

如何在伺服器元件中進行重新導向? redirect 從頁面重新導向至相對或絕對 URL。redirect 是暫時性 (307) 重新導向,而 permanentRedirect 是永久性 (308) 重新導向。當這些函式在串流 UI 時使用,它們會插入 meta 標籤以在用戶端發出重新導向。

如何在 App Router 中處理驗證?

以下是一些支援 App Router 的常見驗證解決方案

如何設定 Cookie?

您可以在 伺服器動作路由處理程式 中使用 cookies 函式來設定 Cookie。

由於 HTTP 不允許在串流開始後設定 Cookie,因此您無法直接從頁面或佈局設定 Cookie。您也可以從中介軟體設定 Cookie。

我该如何构建多租户应用程序?

如果您正在構建一個服務多個租戶的 Next.js 應用程式,我們構建了一個範例,展示我們建議的架構。

我该如何清除應用程式路由器的快取?

Next.js 中有多層快取,因此有多種方法可以清除不同部分的快取。深入瞭解快取

是否有任何基於應用程式路由器構建的綜合性開源應用程式?

有的。您可以查看Next.js CommercePlatforms Starter Kit,這兩個都是使用應用程式路由器且開源的較大型範例。

了解更多