2016-02-03 21 views
0

React/react-dom是否可以讓用戶手動比較兩個doms,獲取diff並將diff應用到dom中?捕獲React Diffs並手動修補

正如現在所發生的,似乎差異和修補的過程是在內部完成的,但我希望能夠單獨完成。

回答

1

不,目前沒有辦法做到這一點。不知道爲什麼如果你自己做和解,你會需要React。如你所說,這是在內部完成的。你可能會分叉react並改變它的差異化方式,或者甚至可能暴露一個外部API讓開發人員按自己的意願做自己的差異。

React很擅長它,它不太可能會做得更好。請參閱ReconciliationAdvanced Performance部分,瞭解有關React如何進行差異化的更多信息。

現在,您可以在React組件中執行的操作是指定shouldComponentUpdate方法,並告訴每個組件是否應更新DOM(因此可能需要協調)DOM。實際上,如果您的組件基於道具/狀態是純粹的,則建議您提高性能。

+0

無賴。我試圖計算一個「差異」,對html做一些事情,然後將我的修改過的差異應用到原始非diffd dom的副本中。 – goofiw

+0

也許有一種方法可以動態地改變應用渲染到的位置,然後你可以比較以前的渲染和新的渲染 –