React
React
整体是函数式的思想,将组件设计成了纯组件,状态和逻辑通过参数传入,所以,再React中 是单向数据流
Vue
整体是响应式的思想,双向绑定原理,基于数据可变,通过对每一个属性建立Watcher进行监听,当属性发生变化的时候,响应式就会更新对应的虚拟DOM
相同点
- 数据驱动页面,提供响应式的视图组件
- 都有虚拟DOM组件化的开发,都是通过props参数和方法进行父子组件之间的传递数据,都实现了Webcomponents规范
- 数据流动单向,都支持服务器端直接渲染SSR
- 都支持native方法,React有React native ,Vue有wexx
不同点
- 数据绑定:Vue是双向数据绑定,React数据流动是单向的
- 数据渲染:大规模的渲染React实现的更快
- 使用场景:React配合Redux架构适合大规模多人协作复杂项目,Vue更适合中小型项目
- 开发风格:React推荐做法jsx + inline style 就是把css和html都写在js中
Vue则是采用webpack + vue-loader 单文件组件格式 html,js,css都写在同一个后缀为vue的文件中