通信

组件之间的关系图谱

简单通信

父传子

通讯是单向的,数据必须是由一方传到另一方。在 React 中,父组件可以向子组件通过传 props 的方式,向子组件进行通讯。

demo

子传父

子组件向父组件通信,同样也需要父组件向子组件传递 props 进行通信,只是父组件传递的是作用域为父组件自身的函数,子组件调用该函数,将子组件想要传递的信息作为参数,传递到父组件的作用域中。

demo

复杂通信

复杂通信包括 多级嵌套组件通信兄弟组件通信,通信的方式基本上差不多,项目里面主要是三种方式:

方式一:Redux 统一管理状态

container 里面直接在 mapStateToProps 里面从状态树或通过 selector 获取父组件的状态。

方式二:逐级传递

  • 多级嵌套组件通信:demo

  • 兄弟组件通信:demo

方式三:context

  • 多级嵌套组件通信:demo

  • 兄弟组件通信:原理同上demo

Last updated