SvelteJS与ReactJS渲染差异(重绘/重排)

问题描述 投票:0回答:1

这是我对DOM和浏览器如何工作的幼稚理解

[只要DOM中的某些内容(真实dom)发生变化,浏览器就会重新绘制或重排DOM。因此,用更简单的术语来说,每次DOM更改时,浏览器都需要重新计算CSS,进行布局并重新绘制网页。这是在真正的dom中花费时间的原因。

因此,React随此虚拟DOM一起提供,它的实际作用是将更改批量进行批处理,然后调用一次将其应用于实际域。因此,最大程度地减少了回流和重涂。

然后斯维尔特。如果直接操作DOM,它将如何控制浏览器的重绘/重排。

javascript reactjs dom svelte virtual-dom
1个回答
0
投票

两个库都将需要对dom进行的更改减至最少。区别在于他们找出最小变化集的方式。

React的方法是在内存(虚拟dom)中具有完整的表示形式。设置状态时,它会创建虚拟dom的另一个副本,比较之前和之后,并查找更改的内容。 Svelte的方法是,当您设置变量时,它会设置一个标志,将该变量标记为已更改。然后,它重新计算依赖于该变量的任何dom元素或其他变量。

© www.soinside.com 2019 - 2024. All rights reserved.