面试官莫名其妙的问题之,揣测问题背后的考察点。
使用 react 渲染 DOM,和直接操作 DOM 那个更快或更好?
考察点:react 的虚拟 DOM,和 Diff 算法。
回答:react 通过它的虚拟 DOM,和 Diff 算法,可以有效的避免不必要的 DOM 渲染,而DOM渲染的开销是很大的。如果是一次必须的 DOM 渲染,直接操作 DOM 当然少了一步计算对比的中间环节,理论上是会快一些。这就好比你去订酒店,你先给酒店打电话咨询:是否有房间,酒店回答你有,你再过去。对于你入住酒店这个结果来说,咨询的那一步就是多余的。但如果咨询的结果是没有空房,你就可以不用去了,因而省去很大的麻烦。这就是用 react 渲染 DOM 的好处。