【你问我答】react和vue的区别是什么?

问题描述:

react和vue的区别是什么?

回答有奖:

选取一位认真回答问题的牛友,赠送200牛币!

你问我答问题汇总:点击进入

------------
#我也有问题想询问牛友,怎么办?

欢迎私信@筱茜 说明你的问题,将根据问题具体情况排期进入【你问我答】专场~
私信请注明参与【你问我答】专场哦~

你问我答 - 答问题,成大佬,拿牛币!
你问我答是牛客新栏目,每周1期几个问题,
牛友在问题贴下留下自己的知识,经验与见解,
帮助更多牛友了解更多技术相关知识!
#悬赏#
全部评论
react 是面向 js 编程,vue 时面向 HTML 模板编程。 react 只是一个负责将 data 渲染为 view 的渲染视图的库而已,公式 view = fn(data)。而 vue 是类 mvvm 架构。 react 偏 fp,vue 偏 oop。 react 默认没有没有实现双向绑定,但是使用 react 实现起来其实也很简单。vue 默认支持双向绑定。 react 想要完成一个实际项目需要很多其它三方库,比如 react router,redux,axios 等。这些库大多不是官方维护的而是开源社区维护。vue 也需要许多库配合使用, 比如 vue-rosurce,vue-router,vuex,但是这些库都是官方维护的,所以在技术选型上 vue 一般就拍脑袋一套官方全家桶下来,但是 react 可能就凭实际项目需求情况和个人喜好了。 跨平台开发角度。vue 如果想写移动 native 可以使用 weex,react 可以上 react native,但是前者明显不如后者受欢迎。 ssr 角度。vue 需要 ssr 的话可以使用 nuxt.js,react 可以使用 next.js。 从 ui 库的角度来说。 react 的杀手级 UI 库 ant design 国内许多大公司中后台都在用,至少我面试中很多大厂 react 技术栈都是。vue 比较受欢迎的 ui 库有 element。 从学习的角度来说。vue 比 react 概念更多,开始学习的时候你需要了解很多概念,各种模板语法,指令, slot, mixin 等,基本上不需要学习 ES6 就可以上手。但是等 vue3 出来后默认使用 typescript 开发就需要去熟悉 ES6 了。react 概念不多,但是你要 react 代码写的优雅,必须要熟悉 ES6,react 的特点就是简单自由,像双向绑定这种很容易实现的东西,react 就留给你自己去实现而不是像 vue 一样把一大堆工具塞给你。 从 cli 的角度来说,个人认为 create-react-app 不如 vue-cli 好用。cra 提供的功能太少了,改 webpack 配置比较麻烦,而 vue-cli 的插件系统还有创建新项目交互选项比 cra 丰富很多。 框架只是工具,现在前端界流行 spa,前后端分离,使用前端路由,但是三大框架都有向 web components 标准看齐的节奏。三大框架其实大同小异,都是搞数据驱动,组件化。我们不应该成为框架的奴隶,当我们熟练使用后,应该去了解一下他们的原理实现,说不定以后一套标准下来三个框架都凉了。
点赞 回复
分享
发布于 2019-06-04 20:41
1. React严格上只针对MVC的view层,Vue则是MVVM模式 2. virtual DOM不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。而对于React而言,每当应用的状态被改变时,全部组件都会重新渲染,所以react中会需要shouldComponentUpdate这个生命周期函数方法来进行控制 3. 组件写法不一样, React推荐的做法是 JSX + inline style, 也就是把HTML和CSS全都写进JavaScript了,即'all in js。Vue推荐的做法是webpack+vue-loader的单文件组件格式,即html,css,jd写在同一个文件; 4. 数据绑定: vue实现了数据的双向绑定,react数据流动是单向的 5. state对象在react应用中不可变的,需要使用setState方法更新状态。在vue中,state对象不是必须的,数据由data属性在vue对象中管理;
点赞 回复
分享
发布于 2019-06-05 21:06
联想
校招火热招聘中
官网直投
我感觉vue就是把一切给你封装好,react只专注于视图,有的功能得自己实现
点赞 回复
分享
发布于 2019-06-04 18:44
1、vue相比于react封装得更加高级,react更加底层更接近于原生js。 2、react需要自己去绑定this(bind、剪头函数、高阶组件autobind),vue则不用。 3、vue需要去了解新的语法例如v-for,v-if,v-show等,react的jsx语法只需要知道在大括号{}内写js表达式就可以了。 4、react的jsx表达式已经成为一种标准,它不仅仅可以用于create-react-app脚手架中还可以用在现有的项目中,我们只需要使用webpack进行打包编译成浏览器认识的代码即可。 5、vue的官网是中文的,对新手更加友好。react的中文官网基本就是google翻译过来的,语句有不通的地方,而且对js基础要求比较高(继承、原型、this指向、箭头函数等)上手难度大一些。 欢迎补充~共同学习~
点赞 回复
分享
发布于 2019-06-04 19:18
据说一个是框架一个是UI
点赞 回复
分享
发布于 2019-06-04 20:23

相关推荐

我们是谁:阿里巴巴淘天集团天猫品牌行业技术前端团队 团队优势:我们负责天猫家装、消费电子、运动户外、奢品等核心平台行业,以及多个自营业务,产品覆盖导购营销,以及面向家装、消电行业的物流、增值服务供应链解决方案,技术上涵盖导购营销、中后台、AI、3D导购、VR等。我们团队是一种具备端到端交付的偏全栈的前端团队,以前端为主,也有客户端、Java工程师,让我们能够技术驱动去落地各种想法,所以不光可以让你在前端技术深度上快速成长,也能够帮助你打开技术视野,一起去玩大模型、元数据驱动、低代码等。面向人群:24年11月至25年10月毕业的本科及以上学生招聘岗位:前端开发工程师转正机会:所有拿到实习offer的同学都有转正机会,阿里向来转正率极高岗位要求熟练使用各种Web前端技术,包括HTML(5)/CSS(3)/Javascript等,并有相关的项目开发经验或成果;熟悉前端工程化,用过git,gulp或webpack等工具,有自己的github仓库更优; 有NodeJS/Java开发经验、移动端开发经验; 深刻理解Web标准,对可用性、可访问性等相关知识有实际的了解; 对算法、数据结构、建模有一定了解; 关注新事物、新技术,有较强的学习能力,喜欢挑战,并且个性乐观开朗,逻辑性强,善于和各种背景的人合作。#前端实习#
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
转发
1 10 评论
分享
牛客网
牛客企业服务