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

一个简单的页面:
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>
    )
}

浏览器控制台返回两次同样的结果:
Snipaste_2023-12-13_13-54-30.png
为什么会这样?

阅读 1.9k
1 个回答

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

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

next.config.js

module.exports = {
  ...
  reactStrictMode: false,
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题