React 面试题
目录

React 中有哪些组件通信的方式?

· 约 5 分钟读完 · 第 102 / 174 章

推荐答案

在 React 中,组件通信的方式主要有以下几种:

  1. Props 传递:父组件通过 props 向子组件传递数据。
  2. 回调函数:父组件通过 props 传递回调函数给子组件,子组件通过调用该回调函数与父组件通信。
  3. Context API:通过 React 的 Context API 实现跨层级组件通信。
  4. 状态管理库:使用 Redux、MobX 等状态管理库进行全局状态管理。
  5. 事件总线:通过自定义事件总线(Event Bus)实现组件间的通信。
  6. Refs:通过 refs 直接访问子组件的实例或 DOM 元素。

本题详细解读

1. Props 传递

Props 是 React 中最基本的组件通信方式。父组件通过 props 将数据传递给子组件,子组件通过 this.props 或函数组件的参数来接收这些数据。

2. 回调函数

父组件可以通过 props 传递一个回调函数给子组件,子组件在需要时调用该回调函数,从而实现子组件向父组件的通信。

3. Context API

Context API 允许你在组件树中共享数据,而不必通过 props 逐层传递。适用于跨层级组件通信。

4. 状态管理库

对于复杂的应用,可以使用 Redux、MobX 等状态管理库来管理全局状态,从而实现组件间的通信。

5. 事件总线

事件总线是一种发布-订阅模式,允许组件通过事件进行通信。你可以自己实现一个简单的事件总线,或者使用第三方库。

6. Refs

Refs 提供了一种方式,允许你直接访问子组件的实例或 DOM 元素。通常用于需要直接操作 DOM 或调用子组件方法的场景。