vue与react区别

最近一段时间使用react + typeScript开发新对项目,说实话体验不是很好

一是可能由于之前一直使用vue + js,对比react两个框架还是有明显差别对

二是可能一次性接受太多的新知识,消化不完,react + typeScript做图片处理项目,很多图片图形处理在前端完成

所以大家新项目做技术选型的时候还是要慎重一些,一次改变太大并不利于新项目的开发,因此可以现在不重要的模块或者项目中尝试新知识,至少能踩点坑,否则在开发任务大的情况下,还要摸石头过河,体验实在是体验不算好,折磨的是自己,啰嗦了这么多,说一下我对两者的看法把

1.上手难度

框架来说上手难度毫无疑问是vue容易,因为除了要掌握一些vue基础知识外,其他与传统web开发没啥区别,html + css + js

react首先要理解下JSX 这个东西,JS与HTML混合使用,与之前流行的HTML、CSS、JS分离的趋势背道而驰,其次react有比vue复杂的生命周期(不同版本生命周期的支持情况等)、react创建组件的种类区分等都比vue复杂

因此在上手上肯定是vue容易上手,react首先要理解一些与传统web开发不一样的地方

2.框架粒度

框架粒度啥意思,就是这个框架下给我们开发提供的功能到哪一程度,哪些框架可以帮我们完成,哪些要自己完成,框架做的越多粒度越粗

vue粒度相对较粗,首先vue是双向绑定 的,在视图中绑定的数据,数据的变化会驱动视图的变化,反之亦然,其次vue组件并没有详细分类,当然这么说也不对,因为vue也分functional组件等,但是官方并未推崇这些创建方式

react粒度相对较细,在视图中绑定 的数据,数据变化会驱动视图变化,但是视图的变化要手动更新到数据,react组件 在功能上做了显著区分,文档中明确说明几种组件的适用场景,并且不同种的组件使用方式上有明显的差异,比如函数组件就是要保持简单,没有状态等

以上绑定明显的地方是在表单的处理,在vue中与表单绑定的对象会随着视图的变化同步更新到对象,但是在react中需要开发者手动的更新到绑定的对象,否则视图改变了,在使用时并不会得到更新后的数据(这里说的不严谨,直接通过ref获取当前对象也能得到当前值)

3.框架生态

vue框架社区生态相对较弱,很多插件都由官方提供,比如vue-router、vuex、vue-cli等官方提供,没有其他的,好与不好都得用

react社区生态可以说相当丰富了,官方除了关注框架本身,其他的好像都放权给社区做了,比如react-router、redux、mobx等等,可谓是百花齐放啊,但是也有问题啊,社区提供的路由、状态管理等功能插件。一来选择较多,可选择的较多、可以选择比符合自己需求的;二来 虽然选择多了,可是有些文档并不友好呀

以上是个人的一些看法,总的来说,react可掌控度更高,很多细节可以在开发者手中掌控,vue开发便捷,框架帮忙做了很多事情,但是严谨度差一点,很多功能没有明显的区别,使用方法容易有歧义

你可能感兴趣的:(VUE,React,经验总结)