1. 首页
  2. 编程面试题
  3. 前端
  4. React

React中如何实现组件间的通信?



组件间通信⽅式一共有如下几种:

1. ⽗组件向⼦组件通讯

⽗组件可以通过向⼦组件传 `props` 的⽅式来实现父到子的通讯。

2. ⼦组件向⽗组件通讯

可以采用 `props + 回调` 的⽅式。

当⽗组件向⼦组件传递 `props` 进⾏通讯时,可在该 `props` 中传递一个回调函数,当⼦组件调⽤该函数时,可将⼦组件中想要传递给父组件的信息作为参数传递给该函数。由于 `props` 中的函数作⽤域为⽗组件⾃身,因此可以通过该函数内的 `setState` 更新到⽗组件上。

3. 兄弟组件通信

可以通过兄弟节点的共同⽗节点,再结合以上2种⽅式,由⽗节点转发信息,实现兄弟间通信。

4. 跨层级通信

可以采用 React 中的 `Context` 来实现跨越多层的全局数据通信。

`Context` 设计的⽬的是为在⼀个组件树中共享 “全局” 数据,如:当前已登录的⽤户、界面主题、界面语⾔等信息。

5. 发布订阅模式

发布者发布事件,订阅者监听到事件后做出反应。

我们可以通过引⼊ `event` 模块进⾏此种方式的通信。

6. 全局状态管理⼯具

可以借助 `Redux` 或 `Mobx` 等全局状态管理⼯具进⾏通信,它们会维护⼀个全局状态中⼼(Store),并可以根据不同的事件产⽣新的状态。

发布者:admin,如若转载,请注明出处:https://ai1024.vip/39228.html

QR code
//