前端都知道3個主流框架,vue,react,anjular,當然目前最火的還是vue和react,那么vue 和react 的區別?
相同點:
1.都支持服務器端渲染
2.都有Virtual DOM,組件化開發,通過props參數進行父子組件數據的傳遞,都實現webComponent規范
3.數據驅動視圖
4.都有支持native的方案,React的React native,Vue的weex
5.都有管理狀態,React有redux,Vue有自己的Vuex(自適應vue,量身定做)
不同點:
1.React嚴格上只針對MVC的view層,Vue則是MVVM模式
2.virtual DOM不一樣,vue會跟蹤每一個組件的依賴關系,不需要重新渲染整個組件樹.
而對於React而言,每當應用的狀態被改變時,全部組件都會重新渲染,所以react中會需要shouldComponentUpdate這個生命周期函數方法來進行控制
3.組件寫法不一樣, React推薦的做法是 JSX + inline style, 也就是把HTML和CSS全都寫進JavaScript了,即'all in js';
Vue推薦的做法是webpack+vue-loader
的單文件組件格式,即html,css,jd寫在同一個文件;
4.數據綁定: vue實現了數據的雙向綁定,react數據流動是單向的
5.state對象在react應用中不可變的,需要使用setState方法更新狀態;
在vue中,state對象不是必須的,數據由data屬性在vue對象中管理;
就對我而言吧,vue適合開發移動端項目,react適合開發pc端項目(個人觀點),
當然我還是喜歡 React,畢竟后台大,哈哈,雖然現在升級到16版本了(不喜勿噴)