React 虚拟Dom,虚拟Dom就是一个 Js 对象
- 拿到state数据 constructor()
- 取Jsx模版 render()
- 数据 + 模版 生成虚拟Dom,虚拟Dom就是一个Js对象,用它来描述真实Dom
虚拟 Dom:
[
'div', {id: 'id'},
[
'span', {},
'Hello World'
]
]
虚拟Dom生成真实的Dom来显示:
<div>
<span>Hello World</span>
</div>
- state发生变化 数据 + 模版 生成新的虚拟Dom
新的虚拟 Dom:
[
'div', {id: 'id'},
[
'span', {},
'bye bye'
]
]
- 比较原始虚拟Dom和新的虚拟Dom的区别,找到变化的内容
- 最后直接操作Dom,改变变化的内容
虚拟Dom生成真实的Dom来显示:
<div>
<span>bye bye</span>
</div>