React和Vue的区别

 我来答
科创17
2022-06-14 · TA获得超过5902个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:175万
展开全部
1、数据是否可变:React整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在React中,是单向数据流,推崇结合immutable来实现数据不可变;Vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听,当属性变化的时候,响应式的更新对应的虚拟DOM。总之,React的性能优化需要手动去做,而Vue的性能优化是自动的,但是Vue的响应式机制也有问题,就是当state特别多的时候,Watcher也会很多,会导致卡顿,所以大型应用(状态特别多的)一般用React,更加可控。
2、通过js来操作一切,还是用各自的处理方式:React的思路是all in js,通过js来生成html,所以设计了jsx,还有通过js来操作css,社区的styled-component、jss等;Vue是把html,css,js组合到一起,用各自的处理方式,Vue有单文件组件,可以把html、css、js写到一个文件中,html提供了模板引擎来处理。
3、类式的组件写法,还是声明式的写法:React是类式的写法,api很少;而Vue是声明式的写法,通过传入各种options,api和参数都很多。所以React结合TypeScript更容易一起写,Vue稍微复杂。
4、扩展不同:React可以通过高阶组件(Higher Order Components--HOC)来扩展,而Vue需要通过mixins来扩展。
5、什么功能内置,什么交给社区去做:React做的事情很少,很多都交给社区去做,Vue很多东西都是内置的,写起来确实方便一些,比如Redux的combineReducer就对应Vuex的modules,比如reselect就对应Vuex的getter和Vue组件的computed,Vuex的mutation是直接改变的原始数据,而Redux的reducer是返回一个全新的state,所以Redux结合immutable来优化性能,Vue不需要。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式