React createElement vs cloneElement

React createElement vs cloneElement

本文关键字:cloneElement vs createElement React      更新时间:2023-09-26

谁能告诉我如果使用cloneElement(在存在元素实例上)或createElement(在反应元素类上),哪一个在性能方面更好?

有时克隆某些内容比创建新实例更快。请让我知道。谢谢

使用 cloneElement 通常会更快,因为您只需要实例化一个初始组件。

这个jsperf测试显示cloneElement几乎是Linux上Chromium 45的createElement的两倍:

  • cloneElement ~1.7m 操作/秒
  • createElement ~0.85m 操作/秒

如果您有一个无需更改即可克隆的基本组件,那么使用 cloneElement 在语义和性能方面都是一个明确的选择。

在 Safari 10.0.3 中,cloneElement 在上面提到的 JSPerf 测试中慢了 31%(在 Chrome 中,createElement 对我来说慢了 17%)。

我还做了另一个JSPerf测试,其中cloneElement被比作"函数作为子项"。在这种情况下,cloneElement在Chrome(26%)和Safari(46%)中都慢了很多。