# 错误边界

2020-01-31  本文已影响0人  Aaro_3835

默认情况下,若一个组件在渲染期间(render)发生错误,会导致整个组件树全部卸载; 

错误边界:是一个组件,该组件会捕获渲染期间(render)子组件发生的错误,并有能力阻止错误的继续传播

**让某个组件捕获错误**

1.编写生命周期函数数: getDerivedStateFromError(推荐)

    1.静态函数(16版本后)

    2.运行时间点:渲染子组件的过程中,发生错误之后,在更新页面之前

    3.**注意:只有子组件发生错误,才会运行这个函数**

    4.该函数返回一个对象,React会将该对象的属性覆盖掉当前的组件的state

    5.参数:错误对象

    6.通常,该函数用于改变状态

2.编写生命周期函数:componentDidCatch

    1.实例方法

    2.运行时间点:渲染子组件的过程中,

    3.通常,该函数用于记录错误信息

**细节**

某些错误,错误边界组件无法捕获

    1.自身的错误

    2.异步的错误

    3.事件中的错误

上一篇下一篇

猜你喜欢

热点阅读