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的区别
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- React 和 Vue 的区别 博主面了几家公司,看简历上写着使用Vue.js框架,就会问,你能说一说 vue 和...
- 都说react适合做大型项目,但是什么是大型项目呢。 什么是大型项目 这个所谓的大项目应该是指 多部门,多项目协作...