数据:

  vue:双向数据绑定和单向数据流。双向数据绑定:DOM元素绑定的data值,当发生改变后,vue的响应式机制会自动监听data的变化重新渲染。单向数据流:当父组件给子组件传递数据的时候,子组件只可以读取而不能修改数据。可以用watch监听数据的更改,再赋给父组件的变量。

  react:单向数据流。DOM元素依赖于state,但改变state不会改变渲染好的DOM,通过setState()才能重新渲染。父组件传值到子组件,如果顶级的props变了,会重新渲染所有的子组件。

虚拟DOM:

  vue:计算出虚拟DOM的差异,在渲染的过程中跟踪每个组件的依赖关系,不会重新渲染整个组件树

  react:当应用的状态改变时,重新渲染全部子组件,可以通过shouldComponentUpdate生命周期进行优化

模板和jsx:

  vue:具有单文件组件,可以把html、css、js写在一个vue文件里----MVVM框架

  react:依赖于jsx,在JavaScript中创建DOM----视图层框架

构建工具:

  vue:vue-cli

  react:create-react-app 项目名

 

React.Native VS ???

  vue:Weex目前处于开发的状态

  react:React Native能在手机上创建原生应用,React在这方面处于领先位置。

团队支持:

  vue:尤雨溪个人,目前和阿里合作

  react:facebook维护