根据我整天浏览不同教程所收集的内容,看来React对dom执行更新的方式就是通过以下过程。
至少在一个简单的层面上,我对这个过程的理解是否正确?
答案 0 :(得分:0)
这几乎是正确的,我认为这里的错误是没有“新的虚拟DOM”,React 总是保存/使用/重复使用两个副本-真实DOM的VDOM表示形式。
(A
)VDOM,有助于对真实DOM进行更改(根据此VDOM,React将对DOM进行最小的更改)。
(B
)VDOM,代表对真实DOM所做的所有更改(您称之为“快照”,该VDOM将与A
进行比较)。
因此,像您一样总结过程:
A
)。B
)(在这一点上它也代表了真实的dom)。B
与VDOM A
进行差异比较,然后仅修改需要修改的VDOM部分(A
)。A
更新实际DOM。第
3.
部分的注意事项React使用diff algorithm,这只是比较元素的keys
和props(浅比较)。