相同点:
1.都支持服务器端渲染
2.都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范
3.数据驱动视图
4.都有支持native的方案,React的React native,Vue的weex
5.都有管理状态,React有redux,Vue有自己的Vuex(自适应vue,量身定做)
不同点:
1.监听数据变化的实现原理不同
Vue:通过 getter/setter以及一些函数的劫持,能精确知道数据变化。
React:通过比较引用的方式(diff)进行的,如果不优化可能导致大量不必要的VDOM的重新渲染。
(Vue和React设计理念上的区别:Vue使用的是可变数据,而React更强调数据的不可变,两者没有好坏之分,Vue更加简单,而React构建大型应用的时候更加鲁棒。)
2.数据绑定不同
Vue:数据的双向绑定。父子组件之间通过事件的方式修改,组件与DOM之间可以通过v-model双向绑定。
React:数据流动是单向的,称之为onChange/setState()模式。
3.组合不同功能的方式
Vue:通过mixin
React: