數據:
vue:雙向數據綁定和單向數據流。雙向數據綁定:DOM元素綁定的data值,當發生改變后,vue的響應式機制會自動監聽data的變化重新渲染。單向數據流:當父組件給子組件傳遞數據的時候,子組件只可以讀取而不能修改數據。可以用watch監聽數據的更改,再賦給父組件的變量。
react:單向數據流。DOM元素依賴於state,但改變state不會改變渲染好的DOM,通過setState()才能重新渲染。父組件傳值到子組件,如果頂級的props變了,會重新渲染所有的子組件。
虛擬DOM:
vue:計算出虛擬DOM的差異,在渲染的過程中跟蹤每個組件的依賴關系,不會重新渲染整個組件樹
react:當應用的狀態改變時,重新渲染全部子組件,可以通過shouldComponentUpdate生命周期進行優化
模板和jsx:
vue:具有單文件組件,可以把html、css、js寫在一個vue文件里----MVVM框架
react:依賴於jsx,在JavaScript中創建DOM----視圖層框架
構建工具:
vue:vue-cli
react:create-react-app 項目名
React.Native VS ???
vue:Weex目前處於開發的狀態
react:React Native能在手機上創建原生應用,React在這方面處於領先位置。
團隊支持:
vue:尤雨溪個人,目前和阿里合作
react:facebook維護