相同点
1.都使用 virtual DOM
2.都是组件化开发 or 都提供了组件化的视图组件
3.数据的改变会引起视图的二次渲染
4.都只有骨架,其他的功能如路由、状态管理等是框架分离的组件。
5.都将注意力集中保持在核心库,有丰富的插件库
区别
1.渲染页面的方式不同:vue使用更简单的模版,变量使用{{}}解析,v-model实现双向数据绑定,
react使用jsx渲染页面,变量使用{}解析
2.数据流向不同:vue是双向的,react是单向的
3.Vue在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树;
    React每当应用的状态被改变时,全部子组件都会重新渲染。
4.vue的单页面组件后缀名为.vue,react的单页面组件后缀名为.js或.jsx
5.React和Vue都有自己的构建工具,vue使用vue-cli,react使用 Create React App(CRA), 由于CRA比较麻烦,最好使用webpack自己构建
6.循环:vue中用v-for,
react中用map,(别忘外面加{})
里面的直接子元素都要加key属性,vue中加:,react中不加
7.vue的初始化数据在data中,data必须要return出去,像计算属性computed比有返回值一样;
  react的初始化数据在this.state中;
  vue修改数据用this.str等,react修改数据用this.setState({})等等
8.vue中判断用v-if(v-else,v-else-if),
react中判断用if
9.vue中绑定类名用:class,
react中类名用className
10.vue中绑定事件用@click,react中绑定事件用onClick
11.
vue全家桶
    vue+vue-router+vuex+axios
react全家桶
 +fetch
11.vue组件                                   
 
react组件
12.vue生命周期
errorcaptured
react生命周期
静态时用componentDidMount
ReactDOM.unmountComponentAtNode(‘节点’)
 
 
 
 
14.
vue路由
react路由
 
vue传值与dom操作
父传子(数据):子组件标签上绑定属性,子组件内props 数组形式接收属性名
 
子传父:
   子组件标签上绑定自定义事件,子组件内部通过 this.$emit('自定义的事件名',传递的数据),
   父组件用相应的函数接受
平行组件传值:空vue对象  ,$emit(‘ ’,数据) 发送 ,  $on 接收
 
 
父操作子(元素方法):this.$refs.str
子操作父:this.$parent.tap()
最新dom:this.$nextTick(function(){     })
react传值与dom操作
属性props和状态state是react中数据传递的载体
 
 
 
 
 
 
15.
vuex
redux
 

版权声明:本文为ygunoil的原创文章,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文链接:https://www.cnblogs.com/ygunoil/p/12028229.html

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

  1. Vue和React对比

    Vue和React对比 Vue也已经升级到2.0版本了,到现在为止(2016/11/19)比较流行的MVVM框架有AngularJS(也有人认为其为MVC).ReactJS和VueJS,这三个框架中, ...

  2. vue与react对比总结(一)

    一.react和vue设计上的共同理念 1.使用 Virtual DOM 2.提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件. 3.将注意力集中保持在核心库,而将其 ...

  3. vue和react全面对比(详解)

    vue和react对比(详解) 放两张图镇压小妖怪 本文先讲共同之处, 再分析区别 大纲在此: 共同点: a.都使用虚拟dom b.提供了响应式和组件化的视图组件 c.注意力集中保持在核心库,而将其他 ...

  4. Vue与React两个框架的区别对比

    简单介绍 React--Facebook创建的JavaScript UI框架.它支撑着包括Instagram在内的大多数Facebook网站.React与当时流行的jQuery,Backbone.js ...

  5. Vue和React的对比

    今晚我们来搞一搞Vue和React的对比好吧,话不多说今天我们直接开搞可好,各位小老板,开始吧 1. react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入, 所以在react中,是 ...

  6. vue 和 react 组件间通信方法对比

    vue 和 react 组件间通信方法对比: 通信路径 vue的方法 react的方法 父组件 => 子组件 props(推荐).slot(推荐).this.$refs.this.$childr ...

  7. vue、react、angular三大框架对比 && 与jQuery的对比

    前端当前最火的三大框架当属vue.react以及angular了. 但是在做项目的时候,我们怎么去选择呢?  这里做一个比较,希望大家可以有一个比较清晰的认识. vue与react vue和react ...

  8. Vue于React特性对比(二)

    一,关于响应式数据更新方式的实现 1)只有在data里面定义的数据才会有响应式更新 vue依赖的defineProperty的数据劫持加上依赖数据,实现数据的响应式更新.可以称之为依赖式的响应.因为依 ...

  9. Vue于React特性简单对比(一)

    一,对象实体对比 vue的对象实体依然是html,而react的对象实体已经变味jsx,一种新的语法结构. vue的html与react的jsx都可以进行拆分,拆分成更细小的组件,组件之间可以传值. ...

随机推荐

  1. Docker报错: TLS handshake timeout”。

    Docker 默认拉取国外镜像,换成国内就搞定. 为了永久性保留更改,您可以修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值. {  &quo ...

  2. 一篇非常好的分析 Selenium 2 和 3 的原理: selenium3:你安装 geckodriver 了吗?

    转自:https://testerhome.com/topics/10248 另一篇:Selenium WebDriver的工作原理 https://blog.csdn.net/yoyocat915/ ...

  3. WEKA “Detailed Accuracy By Class”和“Confusion Matrix”含义

    原文 === Summary ===(总结) Correctly Classified Instances(正确分类的实例)          45               90      % I ...

  4. Python之 反射、迭代器、生成器

    反射 反射就是通过 内置函数getattr() 以字符串的形式导入模块,以字符串的形式调用模块/对象里方法 l=['add','del','set','find'] for i in l: print ...

  5. 使用conda安装命令时一直出现问题,因为从2019年4月添加的国内镜像都不能用了

    安装过程中出现以下问题:(历尽千辛万苦,终于才查到原来是清华源,腾讯源都不能用了)The remote server could not find the noarch directory for t ...

  6. k8s, etcd 多节点集群部署问题排查记录

    目录 文章目录 目录 部署环境 1. etcd 集群启动失败 解决 2. etcd 健康状态检查失败 解决 3. kube-apiserver 启动失败 解决 4. kubelet 启动失败 解决 5 ...

  7. rocketmq的一些内容

    分布式开放消息系统(RocketMQ)的原理与实践 作者 CHEN川 关注 2016.02.25 15:43* 字数 6784 阅读 122302评论 41喜欢 321赞赏 7 一年前为了一次内部分享 ...

  8. 【myeclipse2014-2017】使用相关

    1.窗口背景颜色修改 2.javascript代码块背景颜色修改 3.控制台颜色相关 4.myeclipse主题相关 5.myeclipse清除项目缓存 (1.删除work中的文件.2.删除wabap ...

  9. 手机连接电脑,使用adb命令

    手机连接电脑使用adb命令,主要是有2种方式,其中最常见的就是第一种,用usb连线使用 1:adb usb - restarts the adbd daemon listening on USB ad ...

  10. Tomcat 部署两个工程时,另一个访问出现404

    tomcat下部署两个工程时,只有一个可以访问,另一个出现404错误,该如何解决 在开发新项目的时候,有时候为了省时,直接把曾经做过的项目工程A拷贝成改名为B工程,然后再在B工程上进行功能的开发, 此 ...