React错误边界及通信方式

1.错误边界

理解:

错误边界:用来捕获后代组件错误,渲染出备用页面

特点:

只能捕获后代组件生命周期产生的错误,不能捕获自己组件产生的错误和其他组件在合成事件、定时器中产生的错误

使用方式:

getDerivedStateFromError配合componentDidCatch

// 生命周期函数,一旦后台组件报错,就会触发
static getDerivedStateFromError(error) {
    console.log(error);
    // 在render之前触发
    // 返回新的state
    return {
        hasError: true,
    };
}

componentDidCatch(error, info) {
    // 统计页面的错误。发送请求发送到后台去
    console.log(error, info);
}

2.组件通信方式总结

方式:

    props:
        (1).children props
        (2).render props
    消息订阅-发布:
        pubs-sub、event等等
    集中式管理:
        redux、dva等等
    conText:
        生产者-消费者模式

组件间的关系

    父子组件:props
    兄弟组件(非嵌套组件):消息订阅-发布、集中式管理
    祖孙组件(跨级组件):消息订阅-发布、集中式管理、conText(用的少)

你可能感兴趣的:(React错误边界及通信方式)