React与Vue的比对
1.virtual dom
- 用JS模拟DOM结构,DOM变化的对比,放在JS层做,以提高重绘性能
 - DOM操作昂贵,JS运行效率高,要减少DOM操作
 - 使用:snabbdom的使用
 - 核心API:h函数 h(‘标签名’,{属性},[子元素]) 或者h(‘标签名’,{属性},’’)
 - patch(container,vnode) 或者 path(vnode,newvnode)
 
2.MVVM中jQuery与Vue区别
视图与数据的分离,解耦(开放封闭原则)
以数据驱动视图,只关心数据,DOM操作被封装
3.对MVVM的理解
- MVC:model view controller
 
(数据模型->视图->控制器->数据模型)
或者 (控制器->数据模型->视图)
MVVM:model view viewmodel(视图与数据之间的桥:事件绑定,数据绑定)
4.Vue三要素
- 响应式:修改data属性后,Vue立刻监听到
 - 响应式核心:用Object.defineProperty,将data的属性代理到vm上
 模板引擎:
- 本质:字符串;有逻辑,v-if,v-for等,可以嵌入JS变量,必须用JS才能实现,转换成html渲染页面,模板最终转化成JS函数(render函数:with方法)
 
- 渲染
 
5.Vue的流程
解析模板成render函数:
- with的使用,模板中所有信息都被render函数包含
 - 模板中用到的data中的属性,都变成JS变量,模板中的v-model v-for v-on都变成JS逻辑,render函数返回vnode
 
响应式开始监听:
- Object.defineProperty将data的属性代理到VM上,使用get监听是为了防止重复渲染
 
- 首次渲染,显示页面,且绑定依赖
 - data属性变化,触发render
 
6.react
- 组件化:组件封装,组件复用
 - 组件封装:封装视图、数据、变化逻辑(数据驱动视图变化)
 - 组件复用:props传递,复用
 - JSX本质:JSX是语法糖,需要被解析成JS才能运行,JSX是独立的标准,可被其他项目使用
 - JSX就是模板,最终要渲染成html
 - 需要vdom的原因:JSX要渲染成html,数据驱动视图
 
7.setState过程
setState的异步:
(原因):可能一次执行多次setState,无法规定、限制用户如何使用setState,没必要每次setState都重新渲染,考虑性能,即便每次重新渲染,用户看不到中间渲染的效果,所以只要最后的效果就可
8.Vue与react
两者本质的区别:模板和组件化的区别
- Vue本质是MVVM框架,由MVC发展而来;
 - React是前端组件化框架,由后端组件化发展而来;
 
- Vue使用模板
 - React使用JSX
 - React本身就是组件化
 - Vue是在MVVM上扩展的
 共同点:
- 都支持组件化,都是数据驱动视图
 
React与Vue的比对的更多相关文章
- React 还是 Vue: 你应该选择哪一个Web前端框架?
		
学还是要学的,用的多了,也就有更多的认识了,开发中遇到选择的时候也就简单起来了. 本文作者也做了总结: 如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue 如果你喜欢简单和“能用就行”的东西 ...
 - Angular React 和 Vue的比较
		
Angular(1&2),React,Vue对比 一 数据流 数据绑定 Angular 使用双向绑定即:界面的操作能实时反映到数据,数据的变更能实时展现到界面. 实现原理: $scope变量中 ...
 - react构建淘票票webapp,及react与vue的简单比较。
		
前言 前段时间使用vue2.0构建了淘票票页面,并写了一篇相关文章vue2.0构建淘票票webapp,得到了很多童鞋的支持,因此这些天又使用react重构了下这个项目,目的无他,只为了学习和共同进步! ...
 - 前端框架:react还是vue?
		
之前写了一篇前端框架的大汇总,主要介绍了当下主流的框架和其特性.最近除了bootstrap,就属react和vue最为热门,这篇就主要拿这两个框架来做一下详细对比. 究竟如何正确使用?作为小白的我们从 ...
 - Jerry的碎碎念:SAPUI5, Angular, React和Vue
		
去年我去一个国内客户现场时,曾经和他们IT部门的一位架构师聊到关于在SAP平台上进行UI应用的二次开发时,UI框架是选用UI5还是Vue这个话题. 我们代表SAP, 向客户推荐使用UI5是基于以下六点 ...
 - react  VS  vue 我们究竟该如何选择(从项目的角度帮你分析)
		
一.序言 现在web开发最火的两个框架,react和vue.听起来就感觉很牛逼的样子.确实,不得不服,创造出这2种框架的人真的是牛逼.不过更牛逼的是为这2中框架不断完善的人.一个优秀的idea,会在很 ...
 - 技术趋势:React vs Vue vs Angular
		
React.Vue 和 Angular 这两年发展状况如何?2019 年哪个技术最值得学习? 前几天 Medium 上有一位作者发表了一篇关于 React.Vue 和 Angular 技术趋势的文章( ...
 - 三大前端框架(react、vue、angular2+)父子组件通信总结
		
公司业务需要,react.vue.angular都有接触[\无奈脸].虽然说可以拓展知识广度,但是在深度上很让人头疼.最近没事的时候回忆各框架父子组件通信,发现很模糊,于是乎稍微做了一下功课,记录于此 ...
 - 简述react与vue的区别
		
React 和Vue是现在主流的两个框架(相对来说angular用的已经少了) 两者的区别体现在以下方面 相同点: 1.react和vue都支持服务端渲染 2.都有虚拟DOM,组件化开发,通过prop ...
 - 【转】前端框架天下三分:Angular React 和 Vue的比较
		
前端框架天下三分:Angular React 和 Vue的比较 原文链接:http://blog.csdn.net/haoshidai/article/details/52346865 前端这几年的技 ...
 
随机推荐
- postgres —— 窗口函数入门
			
注:测试数据在 postgres —— 分组集与部分聚集 中 聚集将多行转变成较少.聚集的行.而窗口则不同,它把当前行与分组中的所有行对比,并且返回的行数没有变化. 组合当前行与 production ...
 - CodeForces - 76A:Gift (最小生成树  解决单调性问题是思想)
			
题意:给定N点M边的无向连通图,每条边有两个权值(g,s). 给定G,S. 让你给出一组(g0,s0)使得图中仅留下g<=g0, s<=s0的边之后,依然连通,并求Gg0+Ss0的最小值. ...
 - CF938G Shortest Path Queries 和 CF576E Painting Edges
			
这两道都用到了线段树分治和按秩合并可撤销并查集. Shortest Path Queries 给出一个连通带权无向图,边有边权,要求支持 q 个操作: x y d 在原图中加入一条 x 到 y 权值为 ...
 - eclipse   spring MVC   maven项目  maven install    target下无war包
			
1.排查问题 一步步去看,首先查看本地maven是否安装 命令:ctrl+r cmd 输入 mvn -v 查看maven版本 2.查看 window>preference ...
 - (4)ardunio 矩阵求解官方库改造,添加逆的求解
			
多此一举,原来官方库给了求逆的函数,在源码里 除此之外,还有转置矩阵,只不过样例没显示出来. //Matrix Inversion Routine // * This function inverts ...
 - 持续集成学习4 jenkins常见功能
			
一.节点选择 1.yum安装jdk yum install -y java-1.8.0 java-1.8.0-openjdk-devel 2.节点选择有三种方式 a.通过系统自带功能限制任务只能在这个 ...
 - graphql-hooks hooks first 的graphql 客户端
			
graphql-hooks 是一个hooks first 的graphql 客户端,支持一一些特性 首类hooks api 比较小(5.3Kb) gzip 1.8 kb 完整支持ssr (通过grap ...
 - Theano入门笔记2:scan函数等
			
1.Theano中的scan函数 目前先弱弱的认为:相当于symbolic的for循环吧,或者说计算图上的for循环,也可以用来替代repeat-until. 与scan相比,scan_checkpo ...
 - 前端如何搭建vue UI组件库/封装插件(从零到有)
			
需求 因之前是做外包项目居多,经常用到相同的组件,之前的办法是在一个项目中写一个组件,其他项目直接将compents下的组件复制,粘贴到项目中使用,缺点是维护起来,改一个项目,其他项目也需要修改,所以 ...
 - mysql find_in_set 函数 使用方法
			
mysql> select * from user; +------+----------+-----------+ | id | name | address | +------+------ ...