React 和Vue是現在主流的兩個框架(相對來說angular用的已經少了)
兩者的區別體現在以下方面
相同點:
1、react和vue都支持服務端渲染
2、都有虛擬DOM,組件化開發,通過props傳參進行父子組件數據的傳遞
3、都是數據驅動視圖
4、都有支持native的方案(react的react native,vue的weex)
5、都有狀態管理(react有redux,vue有vuex)
不同點:
1、react嚴格上只能算是MVC的view層,vue則是MVVM模式
2、虛擬DOM不一樣,vue會跟蹤每一個組件的依賴關系,不需要重新渲染整個組件樹
而對於react而言,每當應用的狀態被改變時,全部組件都會重新渲染,所以react中會需要shouldComponentUpdate這個生命周期函數方法來進行控制
3、組件寫法不一樣,react推薦的做法是JSX+inline style,也就是把HTML和CSS全都寫進javaScript了
4、數據綁定:vue實現了數據的雙向綁定,react數據流動是單向的
5、state對象在react應用中是不可變的,需要使用setState方法更新狀態
在vue中,state對象不是必須的,數據有data屬性在vue對象中管理