likes
comments
collection
share

2022年React对比Vue

作者站长头像
站长
· 阅读数 1339

  到了2022年前端框架发展早已稳定为三大框架Angular、React、Vue,三大框架发展趋势也是各有不同,基于TS的Angular大多数插件都是由官方提供,React官方只提供了React核心和Create-react-app,Vue官方提供了基本的三件套(个人认为Pinia可以代替VueX)。

  这篇文章中我们先把Angular放在一边个人谈一下React对比Vue的看法,现在的Vue3基本能成熟组合式API也可以支撑起大型项目,也有了React所说的Hooks,在我看来Vue3对比其他两个框架所剩的缺点可能只是不支持IE和TS的支持了,前者微软早已宣布2022年6月25日停止支持IE,后者正在被真在流行的TSX解决。

先说明一下Vue3对比React的优点:

  1. watchEffect、computed对比useEffect,useMemo不需要手动填写依赖,并且可以执行函数停止监听。
  2. Vue中定义的ref和reactive变量是双向数据流并且可以直接拿到更新后的值,React中的useState返回数组中的两个参数使用起来更加繁琐
  3. Vue3对比React有更好的性能(数据更新和SSR)
  4. Vue模板中自带CSS解决方案,React有多种社区方案但是都不能完美解决问题
  5. 国人对Vue的关注度很高,同时又多种教程和问题解答(百度)

Vue3对比React的缺点:

  1. 对比React没有较为活跃的社区
  2. 对比React没有更好的TypeScript的支持

  本站是Next.js+Node.js+MySQL搭建的CSS方案使用的是styled-jsx(Next.js自带但是并不好用)本站是毕业设计,可以说是为了使用React而用React只是保证使用的技术栈更多,截止到2022/1/3网站已经经历过7次重构基本上是每学习到一个新技术就要应用到其中。

  这次开发中认为Vue3.2及其以后的版本会在未来有更大发展,经过多次社区与其他开发讨论和查阅相关趋势资料总结出如下返回关于主流吹捧React言论反驳的话:

  1.   React开发者所说的大道至简基本无用,所谓的React官方值有核心库其他全靠社区所以React更加灵活状态
    (反驳)管理和路由等基本方案有几个正经项目不用的,一个库连好的CSS解决方案都没有怎么能能称得上优秀呢?
  2.  所谓的Vue的功能在React中可通过各种封装实现,说Vue的语法糖太多,糖吃多了,没有糖了就各种不适
    (反驳)那你为什么不使用原生JS进行开发呢原生JS没有糖那才是大道至简,并且React中很多时候还需要使用memo和useCallback进行性能优化不是一种心智负担吗?
  3. Vue中结合TS没有props提示和类型明显的限制很麻烦
    (反驳)Vue3可以结合TSX使用有很好的类型推断,React手动优化在大型项目中难道就很轻松吗?父子组件更新的坑解决了吗?


对于目前前端开发我推荐使用的技术:

  1. 框架:Vue3(TSX)
  2. SSR:Nuxt.js3版本发布了等过一阵大佬们拍完坑就可以用了
  3. 构建工具:开发环境使用Vite打包使用Webpack
  4. CSS:Emotion,因为模板自带的样式隔离无法在TSX中使用所以只能使用css-in-js方案。备选:Tailwind CSS 
  5. 请求:axios/fetch,axios毋庸置疑是目前请求库中最火热的但是很多产品要求极致性能并且本身也会对请求库进行二次封装如果没有低级浏览器兼容需求的话可以考虑封装fetch
  6. TOB组件库:Element-Plus
评论
请登录