在 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 }); }
pages/home.js(使用 getServerSideProps共享逻辑)
import { getData } from "./api/user"; export async function getServerSideProps(context) { const data = await getData(); // ... other operations ... }
以上是您应该在 `getServerSideProps` (Next.js) 中使用 `fetch()` 进行内部 API 调用吗?的详细内容。更多信息请关注PHP中文网其他相关文章!