在重新渲染组件树时的反应中,有三个阶段:
1)通过调用组件的render()
方法生成新的vdom,此过程生成新的VDOM
2)将新生成的VDOM与之前的VDOM进行比较,找到更改
3)改变DOM以使其与新的VDOM同步
问题:
哪一个较慢:步骤1)或步骤2)?
第2步的速度是否受到shouldComponentUpdate()
的影响?
提问的理由:
我问这个是因为我想了解如何更好地利用shouldComponentUpdate
方法。
更确切地说,我设计了一种方法,需要渲染VDOM,然后基于它可以非常准确地告诉需要重新渲染哪个组件(通过使用shouldComponentUpdate
知识)。
我理解这种方法不会有助于加快步骤1)但实际上,它可以通过自动生成shouldComponentUpdate
方法的最佳“实现”来帮助加快步骤2)对于步骤1)中的所有组件。
所以这将是加速差异的一般方法,但我不确定它是否值得。