React 组件更新机制,面试官想听的底层逻辑

0 阅读1分钟

React 组件更新机制是面试重点,考察对 React 渲染原理的理解,核心是“状态/Props 变化 → 重新渲染 → Diff 对比 → 更新 DOM”,回答时要讲清完整流程。

核心要点:

React 组件更新的完整流程:

一、触发更新

当组件的状态(state)或接收的 props 发生变化时,会触发组件重新渲染(re-render)。

二、生成虚拟 DOM

组件重新执行渲染函数(函数组件)或 render 方法(类组件),生成新的虚拟 DOM 树(Fiber 树,React 16+ 引入,用于分片渲染,避免卡顿)。

三、Diff 算法对比

React 会对比“新虚拟 DOM 树”和“旧虚拟 DOM 树”,通过 Diff 算法(协调算法,Reconciliation)找出两者的差异(最小更新范围)。

四、更新真实 DOM

根据 Diff 对比的结果,只更新有差异的部分到真实 DOM,而不是重新渲染整个页面,从而提升性能。

关键注意点:默认情况下,父组件更新时,所有子组件都会随之重新渲染,即使子组件的 props 没有变化(这也是 React 性能优化的重点方向)。

——个人观点 · 仅供参考——