首次發表在
我的博客
相同點
- 都支持服務器端渲染
- 都有Virtual DOM,組件化開發,經過props參數進行父子組件數據的傳遞,都實現webComponent規範
- 數據驅動視圖
- 都有支持native的方案,React的React native,Vue的weex
不一樣點
- React嚴格上只針對MVC的view層,Vue則是MVVM模式
- virtual DOM不同,vue會跟蹤每個組件的依賴關係,不須要從新渲染整個組件樹.而對於React而言,每當應用的狀態被改變時,所有組件都會從新渲染,因此react中會須要shouldComponentUpdate這個生命週期函數方法來進行控制
- 組件寫法不同, React推薦的作法是 JSX + inline style, 也就是把HTML和CSS全都寫進JavaScript了,即'all in js'; Vue推薦的作法是
webpack+vue-loader
的單文件組件格式,即html,css,jd寫在同一個文件;
- 數據綁定: vue實現了數據的雙向綁定,react數據流動是單向的
- state對象在react應用中不可變的,須要使用setState方法更新狀態;在vue中,state對象不是必須的,數據由data屬性在vue對象中管理
後續將會對vue和react的這些對比作詳細的分析講解,敬請期待?css