通常组件在渲染render的时候会通过常规组件ErrorBoundary去catch错误。
可以捕获发生在其子组件内任何位置的 JavaScript 错误,并打印这些错误,同时展示降级 UI(比如页面展示人气大爆发用来兜底错误)。
无法捕获的错误:
1、自身抛出的异常
2、接口服务端渲染
3、事件处理,事件处理器不会在渲染期间触发。
需要在事件处理器内部捕获错误,使用普通的 JavaScript try / catch 语句
4、异步代码(例如 setTimeout 或 requestAnimationFrame 回调函数)
//render.tsx
class ErrorBoundary extends React.Component {
constructor(props) {
super(props