⚡ 30 秒速记
- 虚拟节点是界面描述,不是浏览器节点副本
- 初次挂载创建宿主节点,更新比较前后描述
- 类型与
key决定节点复用边界 - 抽象降低手动维护复杂度,也有计算成本
- 性能仍看实际布局、绘制和组件工作量
虚拟 DOM 像一份界面草图,用普通对象说明要显示什么,再由渲染器负责操作真实节点。 第一次按草图创建页面,状态变化后比较新旧描述,选择更新、移动或删除。它让复杂页面不用手动维护每条数据对应的节点操作,也能把描述和不同渲染目标分开。但生成与比较对象同样要花时间,不能据此保证永远比精确的手写更新更快。
版本校准: 原理文章中的代码代表特定实现与写作时间。应用到当前项目时,应先确认浏览器、框架或工具的主版本,再区分稳定的规范语义、可变化的内部实现和项目自身约束。
# 什么是 Virtual DOM
Virtual DOM(虚拟 DOM),是由普通的JS对象来描述DOM对象,因为不是真实的DOM对象,所以叫Virtual DOM