Javascript componentdidcatch捕捉到什么样的错误

Javascript componentdidcatch捕捉到什么样的错误,javascript,reactjs,Javascript,Reactjs,我将我的主要组件包装如下: class App extends React.Component { render() { return ( <div> <ErrorBoundary> <Home /> </ErrorBoundary> </div> ); } } 类应用程序扩展了React.Component{ render(){ 返回

我将我的主要组件包装如下:

class App extends React.Component {
  render() {
    return (
      <div>
        <ErrorBoundary>
          <Home />
        </ErrorBoundary>
      </div>
    );
  }
}
类应用程序扩展了React.Component{
render(){
返回(
);
}
}
只是想知道什么样的错误
componentDidCatch
catch?不捕获编译错误,当我在子组件中从

this.props.users.people.length
this.props.users.usersllength
它应该显示我加载微调器的时间(在我的子组件中有一个三元运算符,不确定这是否会影响它)

只是想知道它捕捉到了什么样的错误,以及我如何伪造浏览器来查看它的工作情况

错误边界是React组件,它捕获子组件树中任意位置的JavaScript错误,记录这些错误,并显示回退UI,而不是崩溃的组件树。错误边界捕获渲染期间、生命周期方法中以及它们下面整个树的构造函数中的错误

请确保检查子组件的错误,并确保这些错误是在呈现过程中引起的,而不是在事件处理程序或其他异步代码中引起的。对于该代码,您仍然可以自由使用常规的
try/catch

请仔细阅读官方网站上关于

错误边界是React组件,它捕获子组件树中任意位置的JavaScript错误,记录这些错误,并显示回退UI,而不是崩溃的组件树

因此,它的工作原理基本上与javascript的
.catch()
类似,只是它在呈现组件时捕获错误,并且它无法捕获自身内部的错误

看看他们的演示


错误边界不会捕获以下错误:事件处理程序、异步代码、服务器端呈现、错误边界本身(而不是其子项)中抛出的错误…更多信息