相同点

  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较小。

对比react和vue的更多相关文章

  1. 前端三大主流框架的对比React、Vue、Angular

    前端三大主流框架的对比React.Vue.Angular React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源.React 拥有较高的 ...

  2. react和vue对比

    相同点 都支持服务器端渲染 都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范 数据驱动视图 都有支持native的方案,React的 ...

  3. React 和 Vue 对比

    React 和 Vue 有许多相似之处,它们都有:   * 使用 Virtual DOM * 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件. * 将注意力集中保持 ...

  4. React 还是 Vue: 你应该选择哪一个Web前端框架?

    学还是要学的,用的多了,也就有更多的认识了,开发中遇到选择的时候也就简单起来了. 本文作者也做了总结: 如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue    如果你喜欢简单和“能用就行”的东西 ...

  5. Angular React 和 Vue的比较

    Angular(1&2),React,Vue对比 一 数据流 数据绑定 Angular 使用双向绑定即:界面的操作能实时反映到数据,数据的变更能实时展现到界面. 实现原理: $scope变量中 ...

  6. react构建淘票票webapp,及react与vue的简单比较。

    前言 前段时间使用vue2.0构建了淘票票页面,并写了一篇相关文章vue2.0构建淘票票webapp,得到了很多童鞋的支持,因此这些天又使用react重构了下这个项目,目的无他,只为了学习和共同进步! ...

  7. 前端框架:react还是vue?

    之前写了一篇前端框架的大汇总,主要介绍了当下主流的框架和其特性.最近除了bootstrap,就属react和vue最为热门,这篇就主要拿这两个框架来做一下详细对比. 究竟如何正确使用?作为小白的我们从 ...

  8. 技术趋势:React vs Vue vs Angular

    React.Vue 和 Angular 这两年发展状况如何?2019 年哪个技术最值得学习? 前几天 Medium 上有一位作者发表了一篇关于 React.Vue 和 Angular 技术趋势的文章( ...

  9. 【转】前端框架天下三分:Angular React 和 Vue的比较

    前端框架天下三分:Angular React 和 Vue的比较 原文链接:http://blog.csdn.net/haoshidai/article/details/52346865 前端这几年的技 ...

随机推荐

  1. linux下关于mysql的命令的用法

    所有关于mysql的命令都在/usr/bin/中, 使用 /usr/bin | grep 'mysql'可以列出这些mysql命令 导出数据库, 可以直接在 命令行中, 使用 mysqldump -u ...

  2. (转)JPA & Restful

    参考博客: JPA: https://www.jianshu.com/p/b6932740f3c0 https://shimo.im/docs/zOer2qMVEggbF33d/ Restful: h ...

  3. BZOJ4018: 小Q的幻想之乡

    Description 背景 有一天,小Q梦见自己来到了理想国的幻想之乡. 描述 有一天,小Q梦见自己来到了理想国的幻想之乡.幻想乡有无穷户居民,第i个家庭住在编号为i的房屋里,编号从1开始,到正无穷 ...

  4. 修改控制台为Consolas字体

    windows下控制台字体修改为Consolas字体比较好看,修改步骤如下: 临时修改 命令行cmd命令进入控制台,输入chcp 437命令,执行. 右键点击标题栏进入属性,修改字体为Consolas ...

  5. %lld 和 %I64d的区别

    参考一个博客的链接:https://blog.csdn.net/thunders01/article/details/38879553

  6. 高级定时器TIM1&TIM8

                                               高级定时器 初识stm32高级定时器:      (1)高级控制定时器(TIM1 和 TIM8)和通用定时器在基本 ...

  7. Unity3D学习笔记(三十五):Shader着色器(2)- 顶点片元着色器

    Alpha测试 AlphaTest Great:大于 AlphaTest Less:小于 AlphaTest Equal:等于 AlphaTest GEqual:大于等于 AlphaTest LEqu ...

  8. Linux 下终端 C 语言控制光标的技巧

    // 清除屏幕 #define CLEAR() printf("\033[2J") // 上移光标 #define MOVEUP(x) printf("\033[%dA& ...

  9. Mac python 2.X 升级到 3.X

    Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧.基本步骤如下. 第1步:下载Python3.3 下载地址如下: Python ...

  10. Jquery 点击事件重复获取叠加 (一)

    用jquery添加绑定事件 添加多少次 点击的时候就触发多少次 如果想解决这个问题 就在点击函数里先用 $(对象).off("click") 取消上一次的点击事件 上码: $(&q ...