对比react和vue

相同点

  1. 都有组件化开发和virtual DOM(具体实现方式不同)
  2. 都支持props进行父子组件间数据通信
  3. 都支持数据驱动,不直接操作真实DOM,更新状态数据,界面自动更新
  4. 都支持服务器渲染
  5. 都支持native的方案,react 的 React Native,vue 的 weex

不同点

  1. 数据绑定:vue 双向绑定,react单向数据流
  2. 组件写法不同,具体见下面的讲解
  3. state 对象在 react 中不可变的,需要使用 setState 方法更新状态;在 vue 中,state 对象不是必须的,数据由 data 在 vue 对象中管理
  4. virtual DOM 不一样,vue 会跟踪每一个组件的依赖关系,不需要重新渲染整个DOM 树,而对于 react,每当状态被改变,全部组件都会重新渲染,所以需要 shouldComponentUpdate 这个生命周期函数方法来进行控制

组件化方面

1. 什么是模块化:是从代码的角度进行分析;把一些可复用的代码,抽离为单个的模块;便于项目的维护和开发。

2. 什么是组件化:是从UI界面的角度来进行分析;把一些可复用的UI元素,抽离为单独的组件;便于项目的维护和开发。

3. 组件化的好处:随着项目规模的增大,手里的组件越来越多;很方便就能把现有的组件,拼凑为一个完整的页面。

4. vue如何实现组件化:通过.vue文件,来创建对应的组件。

  • template 结构
  • script 行为
  • style 样式

5. react如何实现组件化:react中有组件化大概念,但没有像vue这样的组件模板文件;

    react中,一切都是以JS来表现的,因此要学习react,js要学好;ES6和ES7要会用。

开发团队方面

  • react:是有Facebook前端官方团队进行维护和更新的;
  • vue:第一版,主要由作者尤雨溪专门进行维护,vue2.x版本以后,由一个以尤雨溪为主导的开源团队,进行维护和开发。

社区方面

  • react由于诞生的较早,所以社区比较强大,一些常见的问题、最佳解决方案,文档、博客在社区中可以很方便找到;
  • vue是最近才火的,所以,它的社区相对react较小。
原文地址:https://www.cnblogs.com/embrace-ly/p/10605274.html