react vue选哪一个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react vue选哪一个相关的知识,希望对你有一定的参考价值。

个人推荐选择vue

先给你上一个二者对比;

1、Vue上手更简单,特别是从dom和jquery时代过来的程序员,或者习惯模板语言的后端开发,更容易接受Vue。

2、Vue从设计上讲,跟趋向于简化使用,就是说Vue从骨子里面就是想用起来简单,但React更多的是为大型工程考虑。

3、React上手稍微难一点,除了Vue那些基础,你还得学习,纯函数组件,函数式编程,JSX,css-in-js,高阶组件,Redux等。

4、在组件化上,React更纯粹,也可以说更强大一些,而Vue不是完全组件化,应对一些复杂组件,可能会有些麻烦。

5、React的设计,配合TypeScript,更适合大型或者超大型的多人协作项目,管理起来更规范,不容易出错。

6、对于移动端跨平台的支持,React的兄弟项目ReactNative已经占了半壁江山,虽然React和ReactNative可以看成两个东西,但是也有很多关联性。而Vue在移动端开发上,目前来看,有阿里的Weex基于Vue,据说也很强大,但是肯定不如ReactNative那么主流和稳定,具体Vue在移动端的表现如何,需要时间观察。

7、虽然Vue在中国、日本、韩国、法国等地区热度很高,在美国也有一定影响力,但在全世界范围看,React的社区比Vue要更大,资源也更丰富,React的背景Facebook,实力强于个人开发者-尤雨溪(背靠了阿里和一些小赞助公司)。但实力是相对的,实际上,两者实力都很强,不用担心Vue的实力不足或稳定性,Vue足够优秀,3、5年内应该都会是主流,只能说React在全世界范围内的资源更多,影响更大而已。

8、Vue和React本身只是一个基础库,对于稍微复杂一点的项目来说,大多数用户都不会自己搭框架。所以说,选择Vue还是React,要重点比较两者的第三方开发框架、UI框架、组件库及各种资源是否丰富、有活力。

9、就我目前看到的情况而言,Vue体系较热的UI框架有ElementUI、iView/ViewUI、Ant Design Vue、vant、mint-ui、vux等,Vue Admin(后台管理系统)相关资源比较丰富,很多中小公司都在用;React热门UI框架有Material-UI、Ant Design、Element-react等,比较集中。可以这样说,Vue的生态就像是游击队,而React更像是正规军。ElementUI和Ant Design都是阿里系的,如果没有Ant Design的话,感觉Vue在国内要强盛一些,但有了阿里Ant Design强势介入,许多中间派就倒向React了,特别是一些稍微大一点的公司。

10、其他因素:Vue的核心开发团队只有尤雨溪一人(大概90%的代码都是他写的),假如他休假了、生病了,主要开发就暂停了,Vue想要健康的发展,应该要增加1~2个核心开发(每个人都深度参与开发,并可以推动开源生态发展)。

11、其他因素:React从一开始就抱上了TypeScript的大腿,而Vue目前仍以ES为主,不得不说,在很长一段时间内,TS都是优于ES的,而Vue社区要切换TS生态,还有一段路要走。这注定了大公司、大项目选React+TS的概率要大一些。中小公司多少也会受到大公司的影响。

    总结:

1、如果只是做项目,两者都很好,都是主流,都能极大的增强前端开发能力,选任何一个都没有错(做选择时,可考虑其他一些因素,比如自身能力、第三方组件)。

2、如果想抱大腿、跳槽大公司,建议选React + TypeScript练手。

3、5年以后的长远考虑?这两个的生命力,足以支撑5年,但你要说5年之后,它们是否还是主流,这个真不好说。现在前端技术发展太快。

4、作为一个专业前端,建议前期学Vue,后期再学React;反之,如果之前直接学的React,则一般不需要再去学Vue了,做项目,选一个就行了。

希望看完我的观点后,能对你有些帮助!

参考技术A 回答

vue和react之间的区别1、框架本质不同Vue本质是MVVM框架,由MVC发展而来;React是前端组件化框架,由后端组件化发展而来;严格上只针对MVC的view层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对象的不同state对象在react应用中不可变的,需要使用setState方法更新状态;在vue中,state对象不是必须的,数据由data属性在vue对象中管理;6、组件通信的不同1.png-600Vue中有三种方式可以实现组件通信:父组件通过props向子组件传递数据或者回调,虽然可以传递回调,但是我们一般只传数据;子组件通过事件向父组件发送消息;通过V2.2.0中新增的provide/inject来实现父组件向子组件注入数据,可以跨越多个层级。React中也有对应的三种方式:父组件通过props可以向子组件传递数据或者回调;可以通过 context 进行跨层级的通信,这其实和 provide/inject 起到的作用差不多。React 本身并不支持自定义事件,而Vue中子组件向父组件传递消息有两种方式:事件和回调函数,但Vue更倾向于使用事件。在React中我们都是使用回调函数的,这可能是他们二者最大的区别。7、监听数据变化的实现原理不同Vue通过 getter/setter以及一些函数的劫持,能精确知道数据变化。React默认是通过比较引用的方式(diff)进行的,如果不优化可能导致大量不必要的VDOM的重新渲染。为什么React不精确监听数据变化呢?这是因为Vue和React设计理念上的区别,Vue使用的

react和vue哪个比较好

react和vue哪个比较好

vue比较好。

VUE 是 iOS 和 Android 平台上的一款 Vlog 社区与编辑工具,允许用户通过简单的操作实现 Vlog 的拍摄、剪辑、细调、和发布,记录与分享生活。还可以在社区直接浏览他人发布的 Vlog,与 Vloggers 互动。

随着手机摄像头的发展,越来越多的人开始使用手机拍照和摄像。摄像一般来说要比拍照门槛高,但是视频传播的信息量又远大于照片。VUE 就诞生在这样的背景下,希望用拍照一样简单的操作,帮助用户在手机上拍摄精美的短视频。

主要功能:

分镜头:通过点按改变视频的分镜数实现简易的剪辑效果,而剪辑能够让视频传达更多的信息。

实时滤镜:由电影调色专家调制的12款滤镜供选择,切换至前置摄像头会出现自然的自拍美颜功能。

贴纸:支持40款手绘贴纸,还可以编辑贴纸的出现时间。

自由画幅设置:支持1:1、16:9、2.39:1 三种画幅的视频拍摄。

参考技术A React和 Vue 以及是经常上 PK 台被进行比较的前端框架,我这边从以下几个方面对两者做一个比较,如果其中有理解不当的大家也可以随时纠正。
学习曲线
React陡峭的学习曲线是一直被诟病的一点。Vue 标榜的是一个渐进式的JavaScript框架,大部分开发这普遍会认为Vue 的学习曲线低于React,并且相较于React有更丰富的中文支持(主要是VUE开发这是中国人,导致了很多我国的程序员会关注此框架)。但是,随着学习内容的深入,当需要开发复杂的 Web 应用程序时,花哨灵活的指令和逻辑反而会让人觉得 Vue 比 React 更难掌控。简单来说,React是一个陡坡比较难上手,Vue是一个缓坡很容易上手,但是最终的高度两者差不多。
技术社区
React 是近十年的开源项目,因此它拥有成熟的技术社区支持。Vue尽管这几年势头很猛,但是要想建立一套完善的生态系统还需要一些时间来打磨。
灵活性

这也是争议最大的地方。React 专注于 UI,所以在构建 UI 组件时可以从它那里获得很好的支持。Vue 作为一个渐进式框架,只允许使用最基本的功能来构建应用程序,但同时也提供了一些开箱即用的东西:如,用于状态管理的 Vuex、用于应用程序 URL 管理的 Vue Router、Vue 服务器端渲染。
Vue 剥离了许多元素,相比之下 React 更加全面。但如果您正在寻找一种精简、新颖、简单易学、样板代码少、高性能、灵活且完整的前端框架,Vue 更加适合;当然,如果您打算使用低版本 jQuery 代码,Vue 也同样支持。
React 的灵活性则更多依赖于其背后强大的技术社区,在 Facebook 的强力支撑下( Facebook 的 React 团队包括了 10 名专职开发人员),提供了更多工具、UI 库和教程。
综上所述,我个人觉得在没有实际应用场景的情况下,很难比较出孰优孰劣,没有最好的框架,只有最适合的框架。如果是短期小项目,建议使用 Vue 可以快速敏捷开发(上手快,控件占用小,性能较好)。如果是移动端跨平台的应用推荐 React( React Native 已经比较成熟而 Vue 的 Weex 仍在不断发展)。
参考技术B 回答

vue和react之间的区别1、框架本质不同Vue本质是MVVM框架,由MVC发展而来;React是前端组件化框架,由后端组件化发展而来;严格上只针对MVC的view层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对象的不同state对象在react应用中不可变的,需要使用setState方法更新状态;在vue中,state对象不是必须的,数据由data属性在vue对象中管理;6、组件通信的不同1.png-600Vue中有三种方式可以实现组件通信:父组件通过props向子组件传递数据或者回调,虽然可以传递回调,但是我们一般只传数据;子组件通过事件向父组件发送消息;通过V2.2.0中新增的provide/inject来实现父组件向子组件注入数据,可以跨越多个层级。React中也有对应的三种方式:父组件通过props可以向子组件传递数据或者回调;可以通过 context 进行跨层级的通信,这其实和 provide/inject 起到的作用差不多。React 本身并不支持自定义事件,而Vue中子组件向父组件传递消息有两种方式:事件和回调函数,但Vue更倾向于使用事件。在React中我们都是使用回调函数的,这可能是他们二者最大的区别。7、监听数据变化的实现原理不同Vue通过 getter/setter以及一些函数的劫持,能精确知道数据变化。React默认是通过比较引用的方式(diff)进行的,如果不优化可能导致大量不必要的VDOM的重新渲染。为什么React不精确监听数据变化呢?这是因为Vue和React设计理念上的区别,Vue使用的

参考技术C 在工作中,经常会有人问我Vue和React的区别,他们的优缺点,在真正开发过程中,到底用哪个框架比较好?其实我也不知道,然后这段时间看了许多文档,也还是有很多地方没看懂,以下只是自己消化理解的一些Vue和React的区别联系:
1. 数据
React:单项数据流
Dom元素渲染依赖于state,但改变State并不会影响或者改变渲染出的Dom元素。只有通过setState才能重新走渲染流程。
React是单向数据流,数据主要从父节点传递到子节点(通过props)。如果顶层(父级)的某个props改变了,React会重渲染所有的子节点
React推崇的是函数式编程和单向数据流:给定原始界面(或数据),施加一个变化,就能推导出另外一个状态(界面或者数据的更新)。他的每一个组件更像是一个函数。一个呈现出来的页面是由多个独立的、可复用的组件构成的。
Vue:双向数据绑定与单项数据流
Dom元素绑定的Data值,当发生改变后,Vue的响应式机制会自动监听Data的变化重新渲染。即vue实例中的data与其渲染的DOM元素的内容保持一致,无论谁被改变,另一方会相应的更新为相同的数据。
vue不推荐子组件修改父组件的数据,直接修改props会抛出警告。一般都是通过调用父组件传过来的父组件中的方法来改变props。
利弊:
React需要手动setstate后才能出发渲染,Vue更强调自动化响应式,也因此Vue中的Watcher在Data特别多的时候会出现卡顿现象。这也是大型项目(state很多)更适合用React而非vue的一个原因。
2.虚拟Dom
Virtual DOM是一个映射真实DOM的JavaScript对象。当新一项被加进去这个JavaScript对象时,一个函数会计算新旧Virtual DOM之间的差异并反应在真实的DOM上。计算差异的算法是高性能框架的秘密所在,React和Vue在实现上有点不同。
Vue宣称可以更快地计算出Virtual DOM的差异,这是由于它在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。
而对于React而言,每当应用的状态被改变时,全部子组件都会重新渲染。当然,这可以通过shouldComponentUpdate这个生命周期方法来进行控制(你可以通过这个方法控制组件是否重新渲染。如果返回 false 组件就不会重新渲染),但Vue将此视为默认的优化。
3.JSX和模板
React与Vue最大的不同是模板的编写。Vue鼓励你去写近似常规HTML的模板。写起来很接近标准HTML元素,只是多了一些属性。
Vue要使用HTML模板template,而React则是完全相反,要求开发者借助JSX在JavaScript中创建DOM。
总的来说就是React---- all in js。html还是css都是通过js实现。但是vue是把html,css,js组合到一起,用各自的处理方式,vue有单文件组件,可以把html、css、js写到一个文件中,html提供了模板引擎来处理。
4.构建工具
React和Vue都有自己的构建工具,你可以使用它快速搭建开发环境。React可以使用Create React App (CRA),而Vue对应的则是vue-cli。两个工具都能让你得到一个根据最佳实践设置的项目模板。
由于CRA有很多选项,使用起来会稍微麻烦一点。这个工具会逼迫你使用Webpack和Babel。而vue-cli则有模板列表可选,能按需创造不同模板,使用起来更灵活一点。
5.React.Native vs ???
React Native能在手机上创建原生应用,React在这方面处于领先位置。使用JavaScript, CSS和HTML创建原生移动应用,大大降低了移动应用的开发成本啊,web前端也可以写移动应用,想想都激动。这是一个重要的革新。Vue社区与阿里合作开发Vue版的React Native——Weex也很不错,但仍处于开发状态且并没经过实际项目的验证。
6背后的团队
关于Vue还需要说的是,Vue主要是由一位开发者进行维护的,而不像React一样由如Facebook这类大公司维护。
这些大概就是通过自己的理解,对比了一下Vue和React的一些主要概念和实现方式写出来的一些体会总结,主要是为了加深自己理解,有些东西自己水平有限,能够消化的有限。以后会继续补充。
参考技术D 说实话,Vue就是垃圾,React也是(React Native不是,两个要区别开来)。如果你真想做好项目,项目之初就应该ng2.x以上。为什么垃圾,其实这是js语法自身问题,还有前端团队技术问题,js语法太松散了,所以一票人写的乱七八糟,结构混乱到一B,各种私货漫天飞,这也有公司原因,过于追求敏捷开发,vue这种方便快捷的东西就受到追捧。但是项目运行一两年后你就知道什么叫维护起来蛋疼。其实ng最成功的地方就是全面ts语法,就算你想写的再渣也渣不起来,本身的静态检查就是为了避免人为乱搞。不过开发速度比vue慢的太多

以上是关于react vue选哪一个的主要内容,如果未能解决你的问题,请参考以下文章

为啥vue的template和react的render函数都只能有一个根元素

react-rnd

fullPage竖屏滚动 vuereact版

react和vue哪个比较好

antdPro - react 文档流下载

react-插槽(Portals)