相同點前端
- 都有組件化開發和virtual DOM(具體實現方式不一樣)
- 都支持props進行父子組件間數據通訊
- 都支持數據驅動,不直接操做真實DOM,更新狀態數據,界面自動更新
- 都支持服務器渲染
- 都支持native的方案,react 的 React Native,vue 的 weex
不一樣點vue
- 數據綁定:vue 雙向綁定,react單向數據流
- 組件寫法不一樣,具體見下面的講解
- state 對象在 react 中不可變的,須要使用 setState 方法更新狀態;在 vue 中,state 對象不是必須的,數據由 data 在 vue 對象中管理
- virtual DOM 不同,vue 會跟蹤每個組件的依賴關係,不須要從新渲染整個DOM 樹,而對於 react,每當狀態被改變,所有組件都會從新渲染,因此須要 shouldComponentUpdate 這個生命週期函數方法來進行控制
組件化方面react
1. 什麼是模塊化:是從代碼的角度進行分析;把一些可複用的代碼,抽離爲單個的模塊;便於項目的維護和開發。服務器
2. 什麼是組件化:是從UI界面的角度來進行分析;把一些可複用的UI元素,抽離爲單獨的組件;便於項目的維護和開發。weex
3. 組件化的好處:隨着項目規模的增大,手裏的組件愈來愈多;很方便就能把現有的組件,拼湊爲一個完整的頁面。模塊化
4. vue如何實現組件化:經過.vue文件,來建立對應的組件。函數
- template 結構
- script 行爲
- style 樣式
5. react如何實現組件化:react中有組件化大概念,但沒有像vue這樣的組件模板文件;組件化
react中,一切都是以JS來表現的,所以要學習react,js要學好;ES6和ES7要會用。學習
開發團隊方面spa
- react:是有Facebook前端官方團隊進行維護和更新的;
- vue:初版,主要由做者尤雨溪專門進行維護,vue2.x版本之後,由一個以尤雨溪爲主導的開源團隊,進行維護和開發。
社區方面
- react因爲誕生的較早,因此社區比較強大,一些常見的問題、最佳解決方案,文檔、博客在社區中能夠很方便找到;
- vue是最近才火的,因此,它的社區相對react較小。