componentDidCatch()是否从绑定到组件的promise或事件处理程序中捕获错误

时间:2018-02-06 20:34:24

标签: javascript reactjs react-16

在React 16上,假设我有一个像

这样的组件
class Profile extends React.Component {
  onClick = () => {
      throw new Error("Oh nooo!");
    });
  };

  componentDidCatch(error, info) {
     alert(error)
  }
  render() {
    return (
      <div onClick={this.onClick}>
        Name: {this.props.user.name}
      </div>
  );
}

}

然后在构造函数中我this.onClick = this.onClick.bind(this)。错误是否会在componentDidCatch()中找到?

1 个答案:

答案 0 :(得分:1)

现在,它只捕获树中它们下面的组件中的错误。

请参阅:Error Handling in React 16