React 面试题
目录

React 中 componentDidUpdate 方法的作用是什么?

· 约 3 分钟读完 · 第 66 / 174 章

推荐答案

componentDidUpdate 是 React 类组件生命周期方法之一,用于在组件更新后执行某些操作。它会在组件重新渲染后立即调用,通常用于处理 DOM 操作、网络请求或状态更新后的逻辑。

  • prevProps:更新前的 props 对象。
  • prevState:更新前的 state 对象。

本题详细解读

1. 触发时机

componentDidUpdate 在组件更新后触发,具体时机包括:

  • 组件的 props 发生变化。
  • 组件的 state 发生变化。
  • 父组件重新渲染导致子组件更新。

2. 使用场景

  • DOM 操作:在组件更新后操作 DOM 元素。
  • 网络请求:根据新的 props 或 state 发起网络请求。
  • 状态同步:在 state 或 props 变化后,更新其他状态或执行逻辑。

3. 注意事项

  • 避免无限循环:在 componentDidUpdate 中直接调用 setState 可能导致无限循环,除非有明确的终止条件。
  • 性能优化:可以通过比较 prevProps 和 prevState 来决定是否执行某些逻辑,避免不必要的操作。

4. 示例代码

在这个示例中,componentDidUpdate 用于检测 count 的变化,并在变化时输出日志。