单击按钮即可渲染组件。此组件引发错误,并由Error-Boundary包装。因此,从我对文档的理解来看,应该调用Error-Boundary,并且仅应抛出一次错误。但是我注意到错误也在产品环境中多次抛出。
我的componentDidCatch看起来像:
componentDidCatch(error, info) {
this.hasError = true;
this.error = error;
this.severity = this.props.severity;
}
当我在componentDidCatch内进行console.log时,它会打印约9次。
我的组件按以下方式包装:
ReactDOM.render(
<Provider store={createStoreWithMiddleware(reducers)}>
<ErrorBoundary severity="FATAL">
<App />
</ErrorBoundary>
</Provider>, document.getElementById('root'));
应用程序是我的主要组件。 App再次呈现其他组件。
<ErrorBoundary severity="FATAL">
<component1 />
</ErrorBoundary>
错误被显示9次。谁能帮助我理解为什么多次抛出该错误?