对比react和vue
相同点
- 都有组件化开发和virtual DOM(具体实现方式不同)
- 都支持props进行父子组件间数据通信
- 都支持数据驱动,不直接操作真实DOM,更新状态数据,界面自动更新
- 都支持服务器渲染
- 都支持native的方案,react 的 React Native,vue 的 weex
不同点
- 数据绑定:vue 双向绑定,react单向数据流
- 组件写法不同,具体见下面的讲解
- state 对象在 react 中不可变的,需要使用 setState 方法更新状态;在 vue 中,state 对象不是必须的,数据由 data 在 vue 对象中管理
- 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的更多相关文章
- 前端三大主流框架的对比React、Vue、Angular
前端三大主流框架的对比React.Vue.Angular React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源.React 拥有较高的 ...
- react和vue对比
相同点 都支持服务器端渲染 都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent规范 数据驱动视图 都有支持native的方案,React的 ...
- React 和 Vue 对比
React 和 Vue 有许多相似之处,它们都有: * 使用 Virtual DOM * 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件. * 将注意力集中保持 ...
- 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最为热门,这篇就主要拿这两个框架来做一下详细对比. 究竟如何正确使用?作为小白的我们从 ...
- 技术趋势:React vs Vue vs Angular
React.Vue 和 Angular 这两年发展状况如何?2019 年哪个技术最值得学习? 前几天 Medium 上有一位作者发表了一篇关于 React.Vue 和 Angular 技术趋势的文章( ...
- 【转】前端框架天下三分:Angular React 和 Vue的比较
前端框架天下三分:Angular React 和 Vue的比较 原文链接:http://blog.csdn.net/haoshidai/article/details/52346865 前端这几年的技 ...
随机推荐
- linux下关于mysql的命令的用法
所有关于mysql的命令都在/usr/bin/中, 使用 /usr/bin | grep 'mysql'可以列出这些mysql命令 导出数据库, 可以直接在 命令行中, 使用 mysqldump -u ...
- (转)JPA & Restful
参考博客: JPA: https://www.jianshu.com/p/b6932740f3c0 https://shimo.im/docs/zOer2qMVEggbF33d/ Restful: h ...
- BZOJ4018: 小Q的幻想之乡
Description 背景 有一天,小Q梦见自己来到了理想国的幻想之乡. 描述 有一天,小Q梦见自己来到了理想国的幻想之乡.幻想乡有无穷户居民,第i个家庭住在编号为i的房屋里,编号从1开始,到正无穷 ...
- 修改控制台为Consolas字体
windows下控制台字体修改为Consolas字体比较好看,修改步骤如下: 临时修改 命令行cmd命令进入控制台,输入chcp 437命令,执行. 右键点击标题栏进入属性,修改字体为Consolas ...
- %lld 和 %I64d的区别
参考一个博客的链接:https://blog.csdn.net/thunders01/article/details/38879553
- 高级定时器TIM1&TIM8
高级定时器 初识stm32高级定时器: (1)高级控制定时器(TIM1 和 TIM8)和通用定时器在基本 ...
- Unity3D学习笔记(三十五):Shader着色器(2)- 顶点片元着色器
Alpha测试 AlphaTest Great:大于 AlphaTest Less:小于 AlphaTest Equal:等于 AlphaTest GEqual:大于等于 AlphaTest LEqu ...
- Linux 下终端 C 语言控制光标的技巧
// 清除屏幕 #define CLEAR() printf("\033[2J") // 上移光标 #define MOVEUP(x) printf("\033[%dA& ...
- Mac python 2.X 升级到 3.X
Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧.基本步骤如下. 第1步:下载Python3.3 下载地址如下: Python ...
- Jquery 点击事件重复获取叠加 (一)
用jquery添加绑定事件 添加多少次 点击的时候就触发多少次 如果想解决这个问题 就在点击函数里先用 $(对象).off("click") 取消上一次的点击事件 上码: $(&q ...