相同点:
- 都支持服务器渲染;
- 都有虚拟Dom,组件化开发,通过props参数进行父子组件数据的传递;
- 都实现webcomponent规范;
- 都是数据驱动视图;
- 都有状态管理,react有redux,vue有vuex;
- 都有支持native方案,react有react native,vue有weex
不同点:
- react严格上只针对mvc的view层,vue是mvvm模式
- 虚拟dom不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个dom组件树,而react不同,当应用的状态被改变时,全部组件都会重新渲染,所以react中用shouldcomponentupdate这个生命周期的钩子函数来控制;
- 组件写法不一样,react是jsx的inline style,就是把html和css全写进js中,vue则是html,css,js在同一个文件
- 数据绑定不一样,vue实现了数据双向绑定,react数据流动是单向的,在react中,state对象需要setstate方法更新状态,在vue中,state对象不是必须的,数据由data属性在vue对象中管理。