react教程,如何利用componentDidCatch捕捉错误信息?
发布于 作者:苏南大叔 来源:程序如此灵动~

在react
项目中,有很多类组件可以利用的生命周期,每个生命周期都有其各自的功能。在本文中,利用componentDidCatch
来探讨一下react
项目中类组件的错误信息捕捉的问题。虽然componentDidCatch
也是和其它的生命周期是并列在一起的,但是实际的本文中的应用,是和目标组件不放在一起的。父组件捕捉子组件的错误,所以,componentDidCatch
是放在父组件里面的。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述react
的componentDidCatch
生命周期的使用方式方法。本文测试环境:create-react-app@5.0.1
,react@18.2.0
,react-dom@18.2.0
,node@16.14.2
。本文所描述的方法就是ErrorBoundary
。
子组件抛出异常
这里描述子组件如何抛出错误,有两种情况。
第一种,自然触发的逻辑错误。例如:
第二种,主动抛出的错误逻辑。例如:

Child.js
:
父组件捕获异常
父组件中使用componentDidCatch
来捕获上述子组件中的异常信息。
父组件中根据是否发生错误,来决定render
什么内容。如果没有错误,则执行下面的代码即可。

CatchError.js
:
父组件包裹子组件
通过包裹子组件,来把错误信息控制在一定范围内,而不影响外部的UI
呈现。App.js
:


相关链接
- https://newsn.net/say/react-getSnapshotBeforeUpdate.html
- https://newsn.net/say/react-getDerivedStateFromProps.html
- https://newsn.net/say/react-life-cycle-mount.html
- https://newsn.net/say/react-life-cycle-update.html
结束语
更多react
经验文章,请点击苏南大叔的博客文章:


