ComponentDidCatch() ловит ошибку из обещания или обработчика события, привязанного к компоненту

На 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 ответ

Теперь он только улавливает ошибки в компонентах под ними в дереве.

См.: Обработка ошибок в React 16

Другие вопросы по тегам