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对象中管理