我的React组件渲染两次。因此,我决定进行逐行调试,问题就在这里
if ( workInProgress.mode & StrictMode) {
instance.render();
}
React-dom.development.js
是因为采用严格模式吗?我可以禁用它吗?什么是严格模式?我需要吗?
是,您必须将严格模式删除为
严格模式无法为您自动检测副作用,但是通过使它们更具确定性,它可以帮助您发现它们。这是通过有意地双重调用以下函数来完成的:类组件的Constructor,render和shouldComponentUpdate方法。
您无法使用ES6模块语法真正地“删除”(或禁用)严格模式。您可以使用CommonJS require()
禁用严格模式。正如@Haris指出的那样,解决此问题的唯一方法是从字面上禁用“严格模式”。