React中如何优雅的捕捉事件错误

发布网友 发布时间:2022-04-22 19:38

我来回答

1个回答

热心网友 时间:2022-04-22 16:04

1. EerrorBoundary

EerrorBoundary是16版本出来的,有人问那我的15版本呢,我不听我不听,反正我用16,当然15有unstable_handleError。 
关于EerrorBoundary官网介绍比较详细,这个不是重点,重点是他能捕捉哪些异常。

Error boundaries在rendering,lifeCyclemethod或处于他们树层级之下的构造函数中捕获错误 
哦,原来如此。 怎么用

class ErrorBoundary extends React.Component {  constructor(props) {    super(props);    this.state = { hasError: false };
  }

  componentDidCatch(error, info) {    // Display fallback UI
    this.setState({ hasError: true });    // You can also log the error to an error reporting service
    logErrorToMyService(error, info);
  }

  render() {    if (this.state.hasError) {      // You can render any custom fallback UI
      return <h1>Something went wrong.</h1>;
    }    return this.props.children;
  }
}


<ErrorBoundary>  <MyWidget /></ErrorBoundary>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com