【你问我答】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

相关推荐

1 10 评论
分享
牛客网
牛客企业服务