创建React App时console.log()输出两条重复信息,如何阻止第二条显示?
解决React App中console.log()重复打印的问题
React项目开发环境下console.log出现重复日志,最常见的原因是StrictMode严格模式导致的——React在开发环境中会通过重复渲染组件、调用生命周期方法来检测潜在的副作用问题,这就会让console.log触发两次。
解决方法如下:
关闭StrictMode检查
找到项目入口文件(通常是src/index.js或src/main.jsx),移除包裹<App />的<React.StrictMode>标签:
原代码:import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <React.StrictMode> <App /> </React.StrictMode> );修改后:
import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <App /> );注意:StrictMode仅在开发环境生效,生产环境会自动忽略该模式,所以生产环境不会出现日志重复的问题。如果需要保留StrictMode的检测功能,也可以通过判断渲染次数来避免重复打印,但这种场景较少,直接关闭StrictMode是最直接的解决方案。
内容的提问来源于stack exchange,提问作者Abdurrahman Sayed
相关产品推荐
相关产品推荐

