我正在与自己争论,要么我没有正确理解接下来的 13 个新概念,要么这真的是一个错误?我不确定,并感谢更了解情况的人提出正在发生的事情。
我在新的 next 13(最新版本)的“app”文件夹中有一个简单的 page.tsx。
当我使用 fetch 获取该页面中的数据,但不添加任何标头时,构建(yarn/npm 构建)最终显示页面是静态构建的(在构建期间),但是当我添加所需的标头(授权)时,构建显示页面是动态呈现的(每个请求)。
是设计使然吗?我无法将标头传递给 fetch API 并静态呈现页面?
这是我正在使用的代码:
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>
);
}
Run Code Online (Sandbox Code Playgroud)
只需从 fetch 中删除标头,就会得到静态渲染,就像我喜欢的那样:
const getData = async () => {
const res = await fetch( …Run Code Online (Sandbox Code Playgroud)