You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js 13中fetch带请求头为何触发动态渲染而非静态渲染?

Next.js 13 app目录下fetch带请求头触发动态渲染的疑问

在Next.js 13最新版本的app目录下,我有一个简单的page.tsx:当使用fetch获取数据且不添加任何请求头时,执行yarn/npm build后页面为静态渲染;但添加必需的Authorization请求头后,构建结果显示页面为动态渲染(每次请求时渲染)。

请问这是设计如此吗?难道无法在fetch中传递请求头同时实现静态渲染?

带请求头的代码(触发动态渲染)

const getData = async () => {
  const res = await fetch(
    "https://endless-app.onrender.com/api/site-settings",
    {
      headers: {
        Authorization: `Bearer 24653f35c767c9d1ed04f15f143eda0ac12b1cd60d`,
      },
    }
  );
  const data = await res.json();
  return data;
};

export default async function About() {
  const data = await getData();

  return (
    <div>
      <h1>About</h1>
    </div>
  );
}  

不带请求头的代码(静态渲染)

const getData = async () => {
  const res = await fetch(
    "https://endless-app.onrender.com/api/site-settings"
  );
  const data = await res.json();
  return data;
};

内容的提问来源于stack exchange,提问作者Roni Axelrad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 05:37:08