上节课我们介绍了错误边界的概念,这节课我们对组件间通信来做一个总结
回顾
在开始这节课内容之前,我们对上节课的内容来做一个简单的回顾
- 错误边界用来捕获后代组件的错误,并且渲染备用页面。
- 所谓错误边界,首先有错误,其次有边界
getDerivedStateFromError
捕获错误并生成新的状态对象componentDidCatch
统计错误反馈给服务器- 只能捕获后代组件的生命周期中出的错误
以上便是上节课的主要知识点,接下来我们开始这节课的学习
组件之间的关系
- 父子组件
- 兄弟组件(无嵌套关系的组件)
- 祖孙组件(跨级组件)
这几种关系其实很好理解的我们来画一个图解释一下
我们来看图:
- 父子组件
- 组件 1 与组件 2
- 组件 1 与组件 3
- 组件 3 与组件 4
- 兄弟关系
- 组件 2 与组件 3
- 组件 2 与组件 4
- 祖孙关系
- 组件 1 与组件 4
这样一解释,组件间的关系也就明确了。
组件间通信方式
props
children props
render props
- 消息订阅发布,如
pubsub
- 集中式管理,如
redux
context
,生产者——消费者模式
比较好的通信搭配
- 父子组件:
props
- 兄弟组件:消息订阅发布,集中式管理
- 祖孙组件:消息订阅发布,集中式管理,
context
(开发用得少,多用于插件封装)
Copyright statement:The articles of this site are all original if there is no special explanation, indicate the source please when you reprint.
Link of this article:https://work.lynchow.com/article/extend_communicate_between_components/