重复渲染两次 React.StrictMode
原因是 React.StrictMode。如果我们在应用中检查我们之前使用 CRA 运行的文件,我们会发现,我们的 <App />
组件被它包裹:
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
React.StrictMode 只在开发而不是生产环境中发生。重新渲染并不是一个 bug,它是 React 提供的一种调试机制
在开发环境下使用带 React.useState 的组件函数,才可以成功复现渲染两次的原因。