2016-02-25 43 views
2

任何人都可以讓我知道如果使用cloneElement(在存在的元素實例)或createElement(在反應元素類)哪一個在性能方面更好?React createElement vs cloneElement

有時候克隆東西比創建新的實例要快。 請讓我知道。謝謝

+1

爲什麼不直接運行自己的快速測試?所有重要的性能問題都應該根據您的具體情況進行實際測試。 – jfriend00

回答

9

使用cloneElement通常會更快,因爲您只需要實例化一個初始組件。

jsperf test顯示cloneElement是幾乎兩倍快createElement鉻45在Linux:

  • cloneElement〜1.7米OPS /第二
  • createElement〜0.85米OPS /第二

如果您有一個基本組件,您可以在不更改的情況下進行克隆,那麼使用cloneElement是明確的選擇,無論是在語義上還是在性能方面。

1

在Safari 10.0.3中,cloneElement比上面提到的JSPerf test慢31%(在Chrome中,createElement比我慢17%)。

我還做了另一個JSPerf test,其中cloneElement與「function-as-children」進行比較。在這種情況下,Chrome(26%)和Safari(46%)的cloneElement速度都較慢。

+0

嗯怪異...... –