React 的 Reconciliation 过程
- Published on
故事背景
React 的高效更新依赖于 Reconciliation,我研究了它的 diff 算法。
设计思路
- 分析 key 的作用。
- 理解 diff 的优化策略。
- 核心逻辑(伪代码)
js
function reconcile(oldFiber, newElement) {
if (oldFiber.type === newElement.type) {
updateFiber(oldFiber, newElement.props);
} else {
replaceFiber(oldFiber, newElement);
}
}