虚拟dom 真实dom
tsx语法## 虚拟dom
虚拟dom就是用js对象去描述一个dom结构,虚拟dom不是直接操作浏览器的真实dom,而是首先对ui的更新是在虚拟dom中进行,在变更高效的同步到真实dom中。
优点:
性能优化:减少不必要的dom操作。
跨平台性:与平台无关的概念,映射不同的渲染目标。eg:浏览器的dom或者移动端的原生ui.
Real DOM,
真实 DOM,意思为文档对象模型,
在页面渲染出的每一个结点都是一个真实 DOM 结构,
虚拟dom与真实dom的区别
虚拟 DOM 不会进行排版与重绘操作,而真实 DOM 会频繁重排与重绘
虚拟 DOM 的总损耗是“虚拟 DOM 增删改+真实 DOM 差异增删改+排版与重绘”,真实 DOM 的总损耗是“真实 DOM 完全增删改+排版与重绘”
真实dom的优势:易用
缺点:效率低,解析慢;性能差:频繁操作真实dom,容易导致重绘和回流。
虚拟dom优势:简单方便;性能方便:有效避免真实dom数据频繁更新,减少多次重绘与回流
跨平台:react借助虚拟dom,带来了跨平台的能力,一套代码多端能够运行。
缺点:首次渲染大量dom时 多一层虚拟dom的计算。
性能要求极高的应用中无法进行针对性的极致优化。