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
相关产品推荐
相关产品推荐

