React’s Virtual DOM



我知道这可能是重复的,但我确实很难理解React的和解算法的这一部分。所以虚拟DOM是真实DOM的内存表示。每当我们调用setState((React时,它会创建另一个虚拟DOM副本并将其与前一个进行比较,或者它会更改现有的虚拟DOM并将其与其进行比较?

任何更改都只在虚拟DOM实例中进行或比较。

当您执行setState时,React会制作另一个具有所需更改的虚拟DOM副本,并比较旧的和当前的虚拟DOM,以便仅在浏览器中的实际DOM中应用更改

您可以在React文档中阅读更多关于Virtual DOM and its implemntation的信息

根据react docs 中的Reconcilation链接

Reconciliation是通常理解为"虚拟DOM"。高级描述如下:当您呈现React应用程序时,描述应用程序生成并保存在内存中。然后将此树刷新为渲染环境——例如,在浏览器的情况下应用程序,它被转换为一组DOM操作。当应用程序更新(通常通过setState(,生成一个新的树。新的树与前一个树不同,以计算哪些操作需要更新渲染的应用程序。

最新更新