数据:
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维护