对比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 前端这几年的技 ...
随机推荐
- 【做题】arc068_f-Solitaire——糊结论
把所有数字放入双端队列后,结果大概是这样一个排列: \[P_1 1 P_2\] 其中\(P_1\)是递减序列,\(P_2\)是递增序列. 我们以\(1\)所在的位置\(k\)分割最终的排列\(A\). ...
- Python实现机器学习算法:朴素贝叶斯算法
''' 数据集:Mnist 训练集数量:60000 测试集数量:10000 ''' import numpy as np import time def loadData(fileName): ''' ...
- mysql中if()函数使用
博主原创,转载请注明出处: 在mysql中if()函数的用法类似于java中的三目表达式,其用处也比较多,具体语法如下: IF(expr1,expr2,expr3),如果expr1的值为true,则返 ...
- error: pcap library not found! 解决方法
参考: error: pcap library not found! error: pcap library not found! 解决方法 $ sudo apt-get install libsql ...
- 消息队列之ActiveMQ简单环境搭建
准备: 环境:win7,Eclipse,jdk1.8 ActiveMQ版本:ActiveMQ 5.9.0 Release下载地址:http://activemq.apache.org/download ...
- Lintcode415-Valid Palindrome-Medium
Given a string, determine if it is a palindrome, considering only alphanumeric(字母和数字) characters and ...
- webpack插件配置(二)- HtmlWebpackPlugin
作用 简化Html文件的创建,以便为你的webpack bundle包提供服务.这对于在文件名中包含每次会随着编译而发生变化的hash的webpack bundle尤其有用.插件可以生成一个HTML文 ...
- .Net MVC关于子页面引用js库问题
layout页面中的配置: @RenderSection("scripts", required: false) @RenderSection("Styles" ...
- php中if(\$a==\$b)和if(\$a=\$b)什么区别?
<?php // if($a==$b)和if($a=$b)什么区别? $a = 1; $b = 1; if ($a == $b) { // 通过 echo '通过'.PHP_EOL; } if ...
- Android的数据的存储方式
数据的存储方式,总的来说分为三种: ① 文件存储: * SharedPreferences存储 * SD卡存储 ---- Environment * 数据库存储 ---- SQLite .MySQL. ...