一:React优势javascript
一、React速度很快:它并不直接对DOM进行操做,引入了一个叫作虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好。vue
二、跨浏览器兼容:虚拟DOM帮助咱们解决了跨浏览器问题,它为咱们提供了标准化的API,甚至在IE8中都是没问题的。java
三、一切都是component:代码更加模块化,重用代码更容易,可维护性高。
react
四、单向数据流:Flux是一个用于在JavaScript应用中建立单向数据层的架构,它随着React视图库的开发而被Facebook概念化。git
五、同构、纯粹的javascript:由于搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。github
二:React VS Vue
web
1、相同的部分浏览器
1.数据驱动视图,提供响应式的视图组件weex
2.都有virtual DOM, 组件化开发,经过props参数进行父子组件数据的传递,都实现webComponents规范架构
3.都支持服务端渲染
4.都有native解决方案,reactnative(facebook团队) vs weex(阿里团队)
2、不一样的部分
1. JSX vs Templates
JSX 更灵活,它在逻辑能力表达上完爆模板,但也很容易写出凌乱的render函数,不如模板直观。
Template 不须要高级版本的 JavaScript 语法,来增长可读性,模板中任何 HTML 语法都是有效的.
2.使用语法、生命周期对比:
https://github.com/ecfexorg/difference-between-vue-and-react
3.开发模式:React自己,是严格的view层,MVC模式;Vue则是MVVM模式的一种方式实现
4.数据绑定:Vue借鉴了angular,采起双向数据绑定的方式;React,则采起单向数据流的方式
5.state:state对象在react应用中不可变的,须要使用setState方法更新状态;在vue中,state对象不是必须的,数据由data属性在vue对象中管理6.virtual DOM不同:vue会跟踪每个组件的依赖关系,不须要从新渲染整个组件树.而对于React而言,每当应用的状态被改变时,所有组件都会从新渲染,因此react中会须要shouldComponentUpdate这个生命周期函数方法来进行控制