虚拟dom的做用是更少的去操做真实DOM。
DOM Diff算法用来判断哪些区域能够更新哪些区域不须要更新,最终减少更新区域。react
改变虚拟DOM界面不会更新,可是改变真实DOM界面必定会更新,在react里面做为程序员咱们几乎不须要去手动更新真实DOM,咱们只须要更新虚拟DOM,如何触发虚拟DOM更新,就是更新组件的状态,虚拟DOM就会从新产生,而后再产生真实dom,效率高不高主要体如今更新,界面一旦显示出来以后就是各类操做。程序员
上图显示了
在react里面只能利用setState()更新状态,老数据的状态是不能直接改变的,而是先产生一个新的数据,从新建立虚拟DOM树,而后新老数据进行对比,体验为虚拟DOM树的差别,最后更新差别对应到真实DOM,界面实现局部重绘,DOM Diff算法能够实现一个最小的重绘。算法