位置: IT常识 - 正文

vue和react的区别(vue和react区别大吗)

编辑:rootadmin
vue和react的区别

推荐整理分享vue和react的区别(vue和react区别大吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue和react谈谈区别和选型考虑,vue和react之间的区别,vue和react差别,vue跟react的区别,vue和react的区别 以及优缺点怎么去讲,vue和react的区别 以及优缺点怎么去讲,vue和react谈谈区别和选型考虑,vue和react哪个性能高,内容如对您有帮助,希望把文章链接给更多的朋友!

文章目录

目录

一、什么是vue,什么是react?

二、共同点

三、不同点

总结


一、什么是vue,什么是react?

vue

       Vue是一个用于为Web构建的UI的渐进式框架。它最初于2014年由前Google开发人员Evan You发布,他使用AngularJS并决定排除Angular框架的痛点并构建轻量级的东西。 

        Vue是渐进式JavaScript框架。“渐进式框架”和“自底向上增量开发的设计”是Vue开发的两个概念。Vue可以在任意其他类型的项目中使用,使用成本较低,更灵活,主张较弱,在Vue的项目中也可以轻松融汇其他的技术来开发。特点:易用(使用成本低),灵活(生态系统完善)

react

React是由Facebook开发的用于构建用户界面的JavaScript库,Facebook对市场上JavaScript MVC框架都不太满意,Facebook就自己写了一套用于架设Instagram,React由此诞生。

        React主张是函数式编程的理念, 实现了前端界面的高性能高效率开发,react很擅长处理组件化的页面。React的官方网站提到了“学习一次,随处写作”这个关键功能,可以使用React框架在JavaScript中构建移动应用程序。在 React 中,所有的组件的渲染功能都依靠 JSX,它是JavaScript的语法扩展,它在创建UI组件和调试时非常简单有用。

二、共同点数据驱动视图组件化都使用了 Virtual DOM + Diff算法 三、不同点

核心思想不同:Vue早期开发就尤雨溪大佬,所以定位就是尽可能的降低前端开发的门槛,让更多的人能够更快地上手开发。这就有了vue的主要特点:灵活易用的渐进式框架,进行数据拦截/代理,它对侦测数据的变化更敏感、更精确。

React 从一开始的定位就是提出 UI 开发的新思路。背靠大公司Facebook 的React,从开始起就不缺关注和用户,而且React想要做的是用更好的方式去颠覆前端开发方式。所以React推崇函数式编程(纯组件),数据不可变以及单向数据流,当然需要双向的地方也可以手动实现, 比如借助onChange和setState来实现。

响应式原理不同:Vue依赖收集,自动优化,数据可变。Vue递归监听data的所有属性,直接修改。当数据改变时,自动找到引用组件重新渲染。                                                react  React基于状态机,手动优化,数据不可变,需要setState驱动新的state替换老的state。当数据改变时,以组件为根目录,默认全部重新渲染, 所以 React 中会需要 shouldComponentUpdate 这个生命周期函数方法来进行控制

组件写法差异:React推荐的做法是JSX + inline style, 也就是把 HTML 和 CSS 全都写进 JavaScript 中,即 all in js; Vue 推荐的做法是 template 的单文件组件格式(简单易懂,从传统前端转过来易于理解),即 html,css,JS 写在同一个文件(vue也支持JSX写法)

vue和react的区别(vue和react区别大吗)

这个差异一定程度上也是由于二者核心思想不同而导致的。

diff算法:vue对比节点。当节点元素相同,但是classname不同,认为是不同类型的元素,删除重建,而react认为是同类型节点,只是修改节点属性。

vue的列表对比,采用的是两端到中间比对的方式,而react采用的是从左到右依次对比的方式。当一个集合只是把最后一个节点移到了第一个,react会把前面的节点依次移动,而vue只会把最后一个节点移到第一个。总体上,vue的方式比较高效。

渲染过程:Vue可以更快地计算出Virtual DOM的差异,这是由于它在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。

React在应用的状态被改变时,全部子组件都会重新渲染。通过shouldComponentUpdate这个生命周期方法可以进行控制,但Vue将此视为默认的优化。

如果应用中交互复杂,需要处理大量的UI变化,那么使用Virtual DOM是一个好主意。如果更新元素并不频繁,那么Virtual DOM并不一定适用,性能很可能还不如直接操控DOM。

vuex和redux:

从表面上来说,store注入和使用方式有一些区别。在Vuex中,$store被直接注入到了组件实例中,因此可以比较灵活的使用:使用dispatch、commit提交更新,通过mapState或者直接通过this.$store来读取数据。在Redux中,我们每一个组件都需要显示的用connect把需要的props和dispatch连接起来。另外,Vuex更加灵活一些,组件中既可以dispatch action,也可以commit updates,而Redux中只能进行dispatch,不能直接调用reducer进行修改。

从实现原理上来说,最大的区别是两点:Redux使用的是不可变数据,而Vuex的数据是可变的,因此,Redux每次都是用新state替换旧state,而Vuex是直接修改。Redux在检测数据变化的时候,是通过diff的方式比较差异的,而Vuex其实和Vue的原理一样,是通过getter/setter来比较的,这两点的区别,也是因为React和Vue的设计理念不同。React更偏向于构建稳定大型的应用,非常的科班化。相比之下,Vue更偏向于简单迅速的解决问题,更灵活,不那么严格遵循条条框框。因此也会给人一种大型项目用React,小型项目用Vue的感觉。

框架:Vue本质是MVVM框架,由MVC发展而来;

React是前端组件化框架,由后端组件化发展而来。

四、语法区别路由:循环:vue循环dom是在html里面使用v-for指令来进行循环,react是使用{数组.map((循环出来的数据,下表)=>{})}来进行循环的解决跨域的区别:vue是写在vue.config.js里面,react可以写在package.json里也可以写在src文件夹下的setupProxy.js里五、react和vue的选择

在以下情况选择vue

最新文档和更简单的语法。更小,更快,更灵活。需要丰富的HTML模板,易于开发。

在以下的情况选择react

需要构建移动应用程序。需要构建大型应用程序。轻量级,易于版本迁移。总结

如果想要一个轻量级,更快速,更现代的UI库来制作单页面应用程序应该选择Vue.js,

如果是大规模应用程序和移动应用程序的应该选择React。

本文链接地址:https://www.jiuchutong.com/zhishi/298641.html 转载请保留说明!

上一篇:【BEV】TPVFormer复现以及原理

下一篇:侧边导航栏(抽屉式设计)界面 (html + css)(侧边导航栏点击后再展开)

  • 火车票电子发票如何获取(火车票电子发票怎么弄)

    火车票电子发票如何获取(火车票电子发票怎么弄)

  • iqoo8怎么添加桌面插件(iqoo手机怎么设置桌面图标)

    iqoo8怎么添加桌面插件(iqoo手机怎么设置桌面图标)

  • 华为手机克隆需要多久(华为手机克隆需要手机卡吗)

    华为手机克隆需要多久(华为手机克隆需要手机卡吗)

  • 腾讯会议设置的时间会自动结束吗(腾讯会议设置的会议时间到了怎么延长)

    腾讯会议设置的时间会自动结束吗(腾讯会议设置的会议时间到了怎么延长)

  • OPPOR15手机相机的专业模式怎么用(oppor15手机相机拍照模糊不清什么原因)

    OPPOR15手机相机的专业模式怎么用(oppor15手机相机拍照模糊不清什么原因)

  • 分组交换和电路交换的区别(分组交换和电路交换相比)

    分组交换和电路交换的区别(分组交换和电路交换相比)

  • qq空间艾特别人为什么是黑色的(qq空间艾特别人显示备注)

    qq空间艾特别人为什么是黑色的(qq空间艾特别人显示备注)

  • 手机强制关机怎么关(手机强制关机怎么设置)

    手机强制关机怎么关(手机强制关机怎么设置)

  • 正在安装到macintosh hd什么意思(正在安装到macintosh hd怎么取消)

    正在安装到macintosh hd什么意思(正在安装到macintosh hd怎么取消)

  • 华硕主板dram灯一直亮(华硕主板dram灯亮黄灯)

    华硕主板dram灯一直亮(华硕主板dram灯亮黄灯)

  • 苹果来电闪光灯设置后为什么不亮(怎么取消苹果来电闪光灯)

    苹果来电闪光灯设置后为什么不亮(怎么取消苹果来电闪光灯)

  • 苹果xr双卡信号不好怎么解决(苹果xr双卡信号差怎么办)

    苹果xr双卡信号不好怎么解决(苹果xr双卡信号差怎么办)

  • 收音机st和loc什么意思(收音机st loc是什么)

    收音机st和loc什么意思(收音机st loc是什么)

  • 小米6适合升级miui11吗(小米6可以升级miui13)

    小米6适合升级miui11吗(小米6可以升级miui13)

  • ps怎么把图片居中(ps怎么图片居中设置)

    ps怎么把图片居中(ps怎么图片居中设置)

  • 钉钉怎么激活已经注册(钉钉怎么激活已经注册学生)

    钉钉怎么激活已经注册(钉钉怎么激活已经注册学生)

  • 5g标准制定是什么(5g标准确定)

    5g标准制定是什么(5g标准确定)

  • 华为tdlte是什么型号(华为TDLTE是什么手机)

    华为tdlte是什么型号(华为TDLTE是什么手机)

  • coaxial是音频接口吗(cox音频接口能接电视吗)

    coaxial是音频接口吗(cox音频接口能接电视吗)

  • opporeno标准版什么时候上市的(opporeno标准版手机)

    opporeno标准版什么时候上市的(opporeno标准版手机)

  • 苹果8plus怎么设置微信锁(苹果8plus怎么设置微信加密锁)

    苹果8plus怎么设置微信锁(苹果8plus怎么设置微信加密锁)

  • 图虫如何删除图文(图虫创意怎么删除)

    图虫如何删除图文(图虫创意怎么删除)

  • 3dmax设置中文(3Dmax设置中文)

    3dmax设置中文(3Dmax设置中文)

  • 苹果手机怎么用趣键盘表情包(苹果手机怎么用蓝牙传照片)

    苹果手机怎么用趣键盘表情包(苹果手机怎么用蓝牙传照片)

  • 紧急重启功能(紧急重新启动)

    紧急重启功能(紧急重新启动)

  • c盘扩展卷是灰色的D盘已经删除(c盘扩展卷是灰色的,有空间)

    c盘扩展卷是灰色的D盘已经删除(c盘扩展卷是灰色的,有空间)

  • 帝国cms如何设置用户组权限(帝国cms移动端设置教程)

    帝国cms如何设置用户组权限(帝国cms移动端设置教程)

  • python if三元表达式如何使用(if三元表达式)

    python if三元表达式如何使用(if三元表达式)

  • 工资绩效被扣除怎么办
  • 电子税务局能不能抄税
  • 什么企业符合加计扣除的条件
  • 销售的增值税怎么算
  • 外币报表折算差额在会计报表中应作为
  • 物业收取水费比水厂收的高怎么办
  • 无偿代建政府公告
  • 国税实名认证一般是公司里谁去认证的
  • 劳务费需要预缴税款吗
  • 外地出差的餐费住宿费是不是都计入差旅费
  • 工会经费计税依据是上年工资还是当年工资
  • 基本户和一般户的区别和用途
  • 费用报销单应怎样填写
  • 利用网速测试器测试
  • win7如何调出浏览器
  • 抵债资产账务处理程序
  • 高速公路电子发票抵扣进项税
  • 代缴费社保
  • 银行票据贴现业务发展中遇到的困难
  • php缓存机制有哪些
  • 购进运输服务取得的增值税专用发票准予抵扣进项税额吗
  • 新成立公司实收资本没到位该怎么做账
  • php无限级分类
  • php手机号隐藏中间四位
  • 购进食用油的会计分录
  • 炫酷登录注册教程
  • 赫尔辛基哈加赫利亚大学
  • 废钢收购无进项怎么处理
  • flex布局教程实例篇
  • css3的模块结构和应用
  • discuz论坛安装步骤
  • 律师事务所主要业务范围介绍
  • 发票作废发票怎么处理
  • 利润表中利息费用为负数是什么意思
  • 公司食堂开支如何记账
  • python 定制类
  • mysql从一张表更新到另一张表
  • cmd 访问mysql
  • mongodb查看数据库大小
  • sql随机函数rand怎么用
  • 法人股东 分红
  • 业务招待费计入其他业务成本
  • 资产处置损益会计科目
  • mysql sql性能优化
  • 企业所得税营业成本包括管理费用吗
  • 收到退回留抵退税
  • 汇算清缴需要传票么
  • 企业破产作用
  • 一般纳税人的招待费会计分录
  • 公司买车赠送给个人,怎么交税
  • 其他人挂靠公司交社保会计处理怎么做?
  • 选择税的计算方法
  • 总公司是一般纳税人分公司是什么
  • 贷内部往来
  • 赡养老人扣除标准个税
  • 无形资产什么时候开始计提折旧
  • 知识经济对会计的影响论文
  • mysql高级功能
  • mysql从5.7升级至8.0
  • sql自定义数据类型
  • mysql5.7.31安装配置教程
  • innodb数据和索引文件
  • windows vista可以换7吗
  • mac如何取消自动开机
  • ubuntu20.10桌面
  • linux使用方式有哪些方面
  • windows8装.NET 3.5时出现0x800F0906错误解决方案
  • 电脑kernel32.dll
  • win10内置应用大全
  • win8一直配置更新
  • opengl绘制坐标轴
  • nodejs 异步io底层原理
  • css怎么更换图片
  • js获取当前日期并格式化
  • 一次$.getJSON不执行的简单记录
  • 股权转让是实缴资本吗
  • 秀屿区国税局服务电话
  • 百旺金赋跨月专票作废
  • 在进口环节海关代征的税种有
  • 获得感幸福感还有什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设