Next.js中fetch为什么总是发起两次请求?

作者站长头像
站长
· 阅读数 28

一个简单的页面:app\fetch-demo\page.js

'use client'

export default function FechDemo() {
    
    const fetchPromise = fetch("https://mdn.github.io/learning-area/javascript/apis/fetching-data/can-store/products.json",);
    console.log(fetchPromise);

    return (
        <main className="">
            fetch test
        </main>
    )
}

浏览器控制台返回两次同样的结果:Next.js中fetch为什么总是发起两次请求?为什么会这样?

回复
1个回答
avatar
test
2024-06-24

手动关闭严格模式,即不使用React.StrictMode包裹组件

nextjs中通过配置中的reactStrictMode来设置

next.config.js

module.exports = {
  ...
  reactStrictMode: false,
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容