Error boundaries are React components that catch JavaScript errors anywhere in their child component tree, log those errors, and display a fallback UI instead of the component tree that crashed。
可以在 render、生命周期、及子组件的 constructor 中捕捉错误。
不能捕捉到的错误:
1、事件报错
2、异步处理
3、服务端渲染
4、boundary 自己报错。
boundary 定义:
组件内定义了 static getDerivedStateFromError() or componentDidCatch() 则认为是 boundary 组件。
可以理解成是一个正常的组件,只是内部支持特殊的方法:getDerivedStateFromError 该方法可以监听组件内部异常,一旦捕获异常则 render 报错提示 DOM。
网友评论