美文网首页
React和Vue的区别

React和Vue的区别

作者: 鳌拜的弟弟熬夜 | 来源:发表于2023-07-18 15:19 被阅读0次

    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不需要。

    相关文章

      网友评论

          本文标题:React和Vue的区别

          本文链接:https://www.haomeiwen.com/subject/cwbnudtx.html