【问题标题】:React createElement vs cloneElement反应 createElement 与 cloneElement
【发布时间】:2016-02-25 00:34:06
【问题描述】:

谁能告诉我使用 cloneElement(在现有元素实例上)或 createElement(在 react Element 类上)哪个在性能方面更好?

有时克隆某些东西比创建新实例要快。 请告诉我。谢谢

【问题讨论】:

  • 为什么不运行自己的快速测试?所有重要的性能问题都应在您的特定情况下通过实际测试来回答。

标签: javascript reactjs clone


【解决方案1】:

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

这个jsperf test 显示cloneElement 的速度几乎是 Linux 上 Chromium 45 的 createElement 的两倍:

  • cloneElement ~1.7m ops/second
  • createElement ~0.85m ops/秒

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

【讨论】:

    【解决方案2】:

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

    我还制作了另一个JSPerf test,其中将cloneElement 与“function-as-children”进行了比较。在这种情况下,cloneElement 在 Chrome (26%) 和 Safari (46%) 中的速度都大大降低。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-28
      • 2018-12-22
      • 2016-05-22
      • 2011-12-31
      • 2021-02-17
      相关资源
      最近更新 更多