React:虛擬DOM

參考

React虛擬DOM解析

爲什麼需要虛擬DOM

虛擬DOM減少了對DOM樹的操作,如何減少?
通過batching和diff。batching批處理用於將所有的操作一次性交給DOM,diff則通過算法,比較前後差異進行DOM操作,有效降低DOM操作次數,以及操作範圍。

React渲染代價

假設一個場景,有一個列表,現在要重新渲染它,並且渲染的數據與之前一模一樣。
MVVM會如何做?
MVVM監測數據的更新是在數據層的。
由於數據是 “全新” 的,MVVM 實際上需要銷燬之前的所有實例,重新創建所有實例,最後再進行一次渲染!
而React呢?
React監測數據更新是在DOM層的。
即使是全新的數據,只要最後渲染結果沒變,那麼就不需要做無用功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章