1 虚拟Dom
虚拟Dom是由普通的Js对象来描述Dom对象,因为不是真正的Dom对象,所以才叫虚拟Dom。
为什么用虚拟Dom来模拟真实的Dom?因为一个Dom对象中的成员是非常多的,所以创建Dom对象的成本是非常高的,如果使用虚拟Dom来描述真实Dom,就会发现创建的成员少,成本也就低了。
注:操作Dom会影响页面的性能,并且有时候数据根本没有发生改变,我们希望未更改的数据不需要重新渲染。
2 虚拟Dom的思想
虚拟Dom的思想是先控制数据再到视图,但是数据状态是通过diff比对,它会比对新旧虚拟Dom节点,然后找出两者之前的不同,然后把不同的节点再发生渲染操作。
3 虚拟Dom的作用
1 维护视图和状态的关系
2 复杂视图情况下提升渲染性能
注:但是并不是所有情况下使用虚拟Dom都会提升性能,只有在视图比较复杂的情况下使用虚拟Dom才会提升渲染的性能。
4 总结
虚拟Dom可以维护程序的状态,跟踪上一次的状态
通过比较前后两次状态的差异来更新真实的Dom