剛剛看到http://davidchang.github.io/ngReact/ 將Reactjs和Angularjs整合起來。使用Reactjs來實作Angularjs的指令部分,只負責渲染。 怎麼看待這種組合? 有什麼益處?弊端?
希望對這個都有了解的大神指點一二,多謝了。
我對react不了解,不過倒是可以嘗試解釋下:
由於angular的自動髒檢查機制,angular的渲染非常耗時,它的髒檢查是將dom元素中的所有ngBind元素記錄下來,然後在每次$digest循環時判斷變化,做內容替換。這有一個問題就是如果頁面中資料太多,操縱的DOM元素就越多,效率就越低,因此angular有一個2000的ngRepeat上限。
react由於沒有模板,都是js做渲染,在內存中做運算,而不是直接操控dom,這會非常快,所以兩者結合後在UI渲染上會有一個量級的提升,這對於大數量的數據呈現會有很大幫助。
至於缺點,我不喜歡react算不? angular的模板是一個很大的優勢,所見即所得,所有的都是指令,它依然是html;相反react將html寫成component的方式我覺得優化和維護成本太高,es7開始會有Object.observe功能了,到時候ng的效率會有一個大的提升。
我不了解的地方:兩者結合之後,如何做DOM事件處理?如何繼續做雙向資料綁定?如果不需要雙向資料綁定,其實angular從1.3開始內建了一次性綁定的語法:{{ ::expression }},這會很大緩解雙向資料綁定效率低下問題,歡迎指正。
希望對這個都有了解的大神指點一二,多謝了。
我對react不了解,不過倒是可以嘗試解釋下:
由於angular的自動髒檢查機制,angular的渲染非常耗時,它的髒檢查是將dom元素中的所有ngBind元素記錄下來,然後在每次$digest循環時判斷變化,做內容替換。這有一個問題就是如果頁面中資料太多,操縱的DOM元素就越多,效率就越低,因此angular有一個2000的ngRepeat上限。
react由於沒有模板,都是js做渲染,在內存中做運算,而不是直接操控dom,這會非常快,所以兩者結合後在UI渲染上會有一個量級的提升,這對於大數量的數據呈現會有很大幫助。
至於缺點,我不喜歡react算不? angular的模板是一個很大的優勢,所見即所得,所有的都是指令,它依然是html;相反react將html寫成component的方式我覺得優化和維護成本太高,es7開始會有Object.observe功能了,到時候ng的效率會有一個大的提升。
我不了解的地方:兩者結合之後,如何做DOM事件處理?如何繼續做雙向資料綁定?如果不需要雙向資料綁定,其實angular從1.3開始內建了一次性綁定的語法:{{ ::expression }},這會很大緩解雙向資料綁定效率低下問題,歡迎指正。