监控 React

React 16之前的版本,仅需接入插件即可,无需额外配置。

对于React 16及其以后的版本,需要在src/index.js中进行额外配置:

  1. class ErrorBoundary extends React.Component {
  2. constructor(props) {
  3. super(props);
  4. this.state = { hasError: false };
  5. }
  6. componentDidCatch(error, info) {
  7. this.setState({ hasError: true });
  8. // 将component中的报错发送到Fundebug
  9. fundebug.notifyError(error, {
  10. metaData: {
  11. info: info
  12. }
  13. });
  14. }
  15. render() {
  16. if (this.state.hasError) {
  17. return null
  18. // 也可以在出错的component处展示出错信息
  19. // return <h1>出错了!</h1>;
  20. }
  21. return this.props.children;
  22. }
  23. }
  24. ReactDOM.render( < ErrorBoundary > < App / > < /ErrorBoundary>, document.getElementById('root'));

Demo项目:fundebug-react-demo