在 Next.js 中,getServerSideProps 函數可讓您在渲染頁面之前從伺服器取得數據,使其適合 SEO。然而,官方文件建議不要使用 fetch() 在 getServerSideProps 中呼叫內部 API 路由。
避免的原因
從 getServerSideProps 呼叫內部 API 路由是多餘的,因為兩者都在伺服器上運行。相反,API 路由中的邏輯應直接在 getServerSideProps 中實現,以避免不必要的 HTTP 請求。
替代方法
在getServerSideProps 中利用API 路由中的邏輯:
範例
pages/api/user.js(具有共享邏輯的API 路由)
import { getData } from "./userData"; export async function handler(req, res) { const data = await getData(); res.status(200).json({ data }); }
(具有共享邏輯的API 路由)
import { getData } from "./api/user"; export async function getServerSideProps(context) { const data = await getData(); // ... other operations ... }
以上是您應該在 `getServerSideProps` (Next.js) 中使用 `fetch()` 進行內部 API 呼叫嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!