• 请不要在回答技术问题时复制粘贴 AI 生成的内容
PeiXyJ
V2EX  ›  程序员

为什么感觉 React 编写起来比 Vue 复杂很多?

  •  
  •   PeiXyJ · Dec 18, 2025 · 11900 views
    This topic created in 332 days ago, the information mentioned may be changed or developed.

    我在编写一个前端页面,在考虑使用 Vue 和 React 在尝试使用 React 后感觉 React 编写的页面非常的乱,因为太多太多的业务操作都感觉写在了 <Html/> 中而不是和 Vue 一样进行了 脚本 template style 进行拆分,不过我都是 AI 写的,是不是编写的习惯有问题?

    86 replies  •  2025-12-22 01:28:06 +08:00
    dushixiang
    dushixiang
    Dec 18, 2025❤️1
    1
    写 React 不要把全部的逻辑放在一个文件里面,抽象成组件再引用进来就没那么乱了
    kongkx
    kongkx
    Dec 18, 2025 via iPhone❤️1
    2
    贴段代码对比看看?让大伙看看你写得怎么样
    NerbraskaGuy
    NerbraskaGuy
    Dec 18, 2025
    3
    你说的是 jsx ,实际 vue3 也支持 jsx 的写法只不过不那么普遍
    airqj
    airqj
    Dec 18, 2025❤️12
    4
    自信点,把感觉去掉
    React 就是比 Vue 复杂
    ShaoYuanNuo
    ShaoYuanNuo
    Dec 18, 2025
    5
    同样的代码 react 就是比 vue 复杂啊
    livib
    livib
    Dec 18, 2025❤️1
    6
    唯手熟尔
    shintendo
    shintendo
    Dec 18, 2025
    7
    是要复杂一些,但不是你说的原因,而是 1 语法糖少 2 心智模型不太传统,至于 SFC 拆分不是什么大区别
    66beta
    66beta
    Dec 18, 2025
    8
    习惯就好了,用 React 写就不要留着 vue 的思维了
    cvooc
    cvooc
    Dec 18, 2025❤️4
    9
    react 对团队规范代码管理这些要求高很多, 说好听是百花齐放, 说难听是群魔乱舞.

    光一个状态管理,几个月就蹦出来一个新的宣传更先进解决某某问题. 团队摇摆不定的话,真的会存在"学不动的情况".

    另外一点是代码管理, vue 好一点是至少 template/script/style 三大件互不干扰,新手在不熟悉也容易搞出太抽象的代码.
    react 则像上面说的,非常极其特别容易整出来要么一个超大文件, 要么好好的需求清晰的业务组件拆的稀碎成十几个只有一个引用的文件,完全没人能看懂.
    Aleks
    Aleks
    Dec 18, 2025
    10
    React 在理解上确实心智负担会重一些,Vue 更符合直觉好上手一点。但是论生态还是 React 更胜一筹。对大部分个人项目来讲,其实都够用了,都是工具。
    iv8d
    iv8d
    Dec 18, 2025
    11
    一个纯手搓,一个有各种各样的规范要求。当年 angular 也是这样,严重影响推广。vue 这点就很吃香,一直在改进优化。
    PeiXyJ
    PeiXyJ
    OP
    Dec 18, 2025
    12
    @kongkx 纯 AI 写的就不嫌丑了
    penzi
    penzi
    Dec 18, 2025
    13
    因为你 vue 写多了,已经中毒了
    PeiXyJ
    PeiXyJ
    OP
    Dec 18, 2025
    14
    @Aleks 主要还是看生态,现在 AI 化了感觉啥都生态绑定用个 VO 竟然不支持 Vue...
    liaohongxing
    liaohongxing
    Dec 18, 2025❤️5
    15
    因为你已经完全适应了 template/script/style 三大件, 你已不适应 jsx, 这就不谈别人乱了。
    visper
    visper
    Dec 18, 2025❤️1
    16
    react 更灵活。对不同的人来说,可能写得很不一样,不同的封装方式啊之类的。写得好的可能会很优雅,但是多数来说,确实会更乱。不要怀疑,就是代码更乱,你看好久看不出来在页面上的点击出现问题的代码可能不知道它封装在哪一个函数里面了。
    PeiXyJ
    PeiXyJ
    OP
    Dec 18, 2025
    17
    @liaohongxing 好像是这个道理,直接先入为主了
    ccccccc
    ccccccc
    Dec 18, 2025❤️1
    18
    你们说的 vue 那么简单,那试试一段时间不写 vue ,看看是否需要翻官方文档看语法
    Hilong
    Hilong
    Dec 18, 2025
    19
    @ccccccc 还真不用,自从 16 年看了 vue2 的文档,后面升级了 vue3 也只简单看了一下 api 的改动,后面完全不用看文档,本身文档也没啥东西
    wu67
    wu67
    Dec 18, 2025 via Android
    20
    vue 更直觉,react 感觉整个文件都在写 js ,部分 html 还要 map 出来...
    okakuyang
    okakuyang
    Dec 18, 2025
    21
    vue 生态能和 react 生态比一比吗?感觉就是在捡 react 的剩饭。
    craftsmanship
    craftsmanship
    Dec 18, 2025 via Android
    22
    怎么梦回几年前的感觉,,前端都凉透了还在争论 RV 吗🤓
    skallz
    skallz
    Dec 18, 2025
    23
    react 写习惯了还好,初学者可能会存在一个问题,就是它的设计哲学不符合大部分人的直觉,比如你修改一个变量,但是你在修改完成后立刻获取它,它并不一定是最新值,而是推荐你用 useEffect 或者 useRef 去拿到最新值
    cfancc
    cfancc
    Dec 18, 2025
    24
    确实如此,写 react 累,要干好多活
    crocoBaby
    crocoBaby
    Dec 18, 2025
    25
    中小厂写 react 已经找不到工作了
    codek1986
    codek1986
    Dec 18, 2025
    26
    主做后端,vue react 都用,感觉还是 react 写起来舒服
    twofox
    twofox
    Dec 18, 2025
    27
    写 react 的时候我觉得 vue 很好用,写 vue 的时候我觉得 react 很好用
    knowckx
    knowckx
    Dec 18, 2025
    28
    我已经从 react 转 svelte 了 react 还是麻烦
    edisonwong
    edisonwong
    Dec 18, 2025
    29
    react 轮子没的说,我遇到很多小众组件基本只有 react 有...难绷
    写 vue 心智成本低
    bbbblue
    bbbblue
    Dec 18, 2025
    30
    react 要多拆组件 他的心智负担的确大一点 但其实用习惯了就那几个钩子
    现在 95%的组件和页面都让 AI 写了 自己把控一下组件粒度/复用 处理一下 AI 有时解决不了的循环依赖
    dust2
    dust2
    Dec 18, 2025
    31
    @skallz vue 这种也是吧
    QlanQ
    QlanQ
    Dec 18, 2025❤️1
    32
    php 模板时代过来的人,看了 react 那种 用 js 去生成 html 的 方式,看着就难受
    好不容易 php 不用和 html 和 js 混编了,结果 react 来了个 js 去生成 html 的混编
    MJNick
    MJNick
    Dec 18, 2025❤️1
    33
    @ccccccc 是的,vue 时间一长就不记得那些语法糖了。react 就不需要记那么多语法糖和规则,只要你 JavaScript 足够熟练,写 react 很快的,时间长了也不会忘记。
    SkywalkerJi
    SkywalkerJi
    Dec 18, 2025
    34
    @QlanQ 每个时代都有自己的 php
    skallz
    skallz
    Dec 18, 2025
    35
    @dust2 vue 并不是,vue 你同步修改了 ref 定义的变量后,后续直接取值它一定是最新的,不需要在类似 watch 的钩子里面读取最新值
    OoooonePunch
    OoooonePunch
    Dec 18, 2025❤️1
    36
    vue 和 react 没啥优劣之分,有点基础的,都是几天就上手了。但是之前找工作有一点特别烦,用 react 的公司是不介意只用过 vue 的,只要基础好的就行。用 vue 的公司一定要招用过 vue 的,我说一天就上手,也不行,hr 那一层就卡死了。可能在有些面试官眼里,用 vue 的门槛很高吧
    kakki
    kakki
    Dec 18, 2025❤️1
    37
    html js css 混编也是一种高内聚的方式.早期直接内嵌不习惯的原因是因为编辑器弱智,现代编辑器支持个内嵌 HTML 跟喝水一样简单,又不用你人眼 debug.完全就是傲慢与偏见.
    svendson
    svendson
    Dec 18, 2025❤️1
    38
    react 经常性的一个页面干完全部活儿 哈哈哈
    location123
    location123
    Dec 18, 2025
    39
    react 得将组件分的很细 不要在一个文件里 现在一边写 React 一边学 Compose 就很舒服
    dufu1991
    dufu1991
    Dec 18, 2025
    40
    别对比 React 和 Vue 了,都没 Svelte 舒服,这是生态不够。不过 AI 时代来了,项目中的组件基本上可以自己写了。
    bgm004
    bgm004
    Dec 18, 2025
    41
    @dufu1991 不应该是 solidjs ?
    fizzzzz
    fizzzzz
    Dec 18, 2025❤️1
    42
    后端选手,喜欢 react 的生态,喜欢 vue 的语法。每次想自己折腾啥就很纠结选啥
    dudubaba
    dudubaba
    Dec 18, 2025
    43
    react 是写无 html 的 js ,可以理解为任何一个 div 都是一个组件,不分公母。vue 是写 html + js ,公就是公母就是母。
    MJNick
    MJNick
    Dec 18, 2025
    44
    @penzi 是这个道理
    HappyAndSmile
    HappyAndSmile
    Dec 18, 2025
    45
    @ccccccc 是的,每次很久不写 vue ,就要从其他页面看看抄一下
    Yuunie
    Yuunie
    Dec 18, 2025
    46
    React 还好吧,把大概执行原理搞清楚就容易了
    damila
    damila
    Dec 18, 2025
    47
    都说 react 下限低上限高,但我工作这么多年就没见过多少高上限的 react 代码,反而经常被刷新下限。当然可能是因为我水平低,没机会和大牛们共事
    ayang23
    ayang23
    Dec 18, 2025
    48
    vue 就是一个加了很多糖的 react ,就看你喜欢不喜欢糖了
    dufu1991
    dufu1991
    Dec 19, 2025
    49
    @bgm004 solid 只是去了虚拟 dom ,语法还是和 React 一样啰嗦。
    DefoliationM
    DefoliationM
    Dec 19, 2025 via Android
    50
    vue 简单是简单,但是写出来代码就一坨,别想维护了。我首选 react ,至少生态好,代码看着干净点。
    DefoliationM
    DefoliationM
    Dec 19, 2025 via Android
    51
    @DefoliationM 不过我是后端,写 vue 给人一种嗯写 HTML 的感觉,代码最后也是混成一坨。个人比较喜欢 react ,和后端比较契合。
    XCFOX
    XCFOX
    Dec 19, 2025❤️17
    52
    React 是没有 SFC 的,useEffect 是不长眼的,Hooks 的闭包是不通的!全世界这么多开发者写了这么一个 UI 库,怎么写的?我们把状态管理都运到 Zustand 怎么运的?怎么跟 memo 组件沟通的?怎么去跟 Fiber 协调的?天上地下依赖数组无限循环……怎么去做的这些事情?这个经验是无价的。

    我写过 CSS in JS 你写过吗?我服务器让 CVE-2025-55182 挖过矿你挖过吗?我差点被 stale closure 坑死过你死过吗?复杂页面我把 prop drilling 干了你干过吗? NPM 的 Hooks 我吃遍了你吃过吗?我能 Server Component 调 SQL 你会吗?我干了两件之前前端没人干的事,你干了吗?
    zhengfan2016
    zhengfan2016
    Dec 19, 2025
    53
    vue 写多了,我 23 年从 vue 转 react 的第一个月也是各种不适,但是用久了,总能积累出一套合适的方法论,比如怎么抽组件,什么时候适合抽组件,怎么尽可能代码看起来少让组件可维护。而且我现在 react 写多了,我倒是感觉 vue 那个 props 和 emit 有点过分复杂了,像 react 一样多简洁,心智负担也小
    k9982874
    k9982874
    Dec 19, 2025 via Android❤️2
    54
    面向薪资编程,哪个赚钱用哪个。目前 react 吊打其他所有。
    effort
    effort
    Dec 19, 2025
    55
    @XCFOX 哈哈哈哈 笑死了。
    ulyssess
    ulyssess
    Dec 19, 2025
    56
    2025 年了还在 react/vue
    laved
    laved
    Dec 19, 2025
    57
    作为两个框架都写过的人我真的不敢苟同,vue3 的 watchEffect 啥的副作用函数,照样心智负担不小
    cli007
    cli007
    Dec 19, 2025
    58
    react 肯定要 UI 和 hook 独立啊,公共组件和业务组件独立,结合 redux 管理数据流,一点也不乱,不同水平的人按照这一套也能写出差不多的业务代码
    MEIerer
    MEIerer
    Dec 19, 2025
    59
    是这样的,但用习惯了也还好,而且 AI 友好
    leona723
    leona723
    Dec 19, 2025
    60
    我从开始实习就是 react ,习惯了 react 我还觉得 vue 好麻烦呢 hh
    whypool
    whypool
    Dec 19, 2025❤️1
    61
    不是
    Angular 连提都没人提了么
    dust2
    dust2
    Dec 19, 2025
    62
    @skallz 给我干懵逼了 你说的对, 无非是 react 的 state 是回调还是 useEffice 中取, 还是 vue2 vue3 同步的获取 dom, 大体上都是相通的, 为了优化性能而异步 批量的更新 dom state, ref 是最新的, dom 不是, 写的多了都 tm 弄叉屁了
    undefined8
    undefined8
    Dec 19, 2025
    63
    非专业前端,两个都在已有项目上改过,感觉 react 有点难上手,我看的 react 啥东西都是封装复用,刚接手时候调了半天才理解
    sss393
    sss393
    Dec 19, 2025
    64
    发表一个暴论:觉得 react 难,那就对了,就应该复杂点。省的某些 Java 后端学个 vue ,天天跑我跟前跟我说前端多简单,前端马上要失业了巴拉巴拉的~~
    zficode
    zficode
    Dec 19, 2025
    65
    vue2 确实垃圾,和 ts 结合太差,写的代码都是屎山,后期代码量大了维护麻烦,变量全是 any 。vue3 没用过,不知道
    journalistFromHK
    journalistFromHK
    Dec 19, 2025
    66
    没写过 react,感觉在标签里面写 js 很不舒服,就像在 onclick="console.log()"
    WasteNya
    WasteNya
    Dec 19, 2025 via Android
    67
    @vaporSpace 我筛了上千个简历,大部分都是会 React 的也用 Vue 。用 Vue 的就只用 Vue ,基础一般
    PeiXyJ
    PeiXyJ
    OP
    Dec 19, 2025
    68
    @fizzzzz 我也是后端选手,我现在的感觉和你是一模一样的
    alleluya
    alleluya
    Dec 19, 2025
    69
    @sss393 #64 一个 React 和 Vue 能有多复杂 Java boy 说前端简单的时候 你该甩的 css 而不是 js 的框架
    WashFreshFresh
    WashFreshFresh
    Dec 19, 2025
    70
    老项目用的是 angularJS ,是不是切 vue 的时候能比较丝滑
    duan602728596
    duan602728596
    Dec 19, 2025
    71
    vue 可变不可变,props 默认值,v-model 照样一堆坑,写个组件库就知道了
    zed1018
    zed1018
    Dec 19, 2025
    72
    @skallz #21 最新消息,现在已经推荐不要没事就用 useEffect 了,如果一个变量只是拿来渲染,用就完事了。如果有副作用优先用 useState, useMemo
    Zwying
    Zwying
    Dec 19, 2025
    73
    我单方面宣布 Vue3 是目前最好的 js 前端框架
    shakaraka
    shakaraka
    Dec 19, 2025
    74
    angular 哪会吵来吵去哇
    94
    94
    Dec 19, 2025
    75
    其实就是入门的心智负担问题。
    Vue 官方直接给了一个开发套路,以及常用周边库,所以可以很上手和接盘项目。遇到不知道了的东西有一个明确的地方可以找到解答。
    React 因为没有一个官方推荐的套路,所以在上手和接盘的时候容易两眼一抹黑。在没有摸清开发套路之前,遇到的坑也只能在自己在互联网上漫无目的的去检索。
    rrfeng
    rrfeng
    Dec 19, 2025
    76
    @fizzzzz 后端选手左转 angular 去(
    chihiro2014
    chihiro2014
    Dec 19, 2025
    77
    在逻辑管理上,还是 angular 清清爽爽
    Nasdaq
    Nasdaq
    Dec 19, 2025
    78
    React 的文档和 Demo 就是一坨,没别的意思纯恶意
    VagabondH
    VagabondH
    Dec 19, 2025
    79
    @liaohongxing 现在这玩意还重要吗,cusror 啥都能解决,写的比我好
    Chuckle
    Chuckle
    Dec 19, 2025
    80
    react 业务逻辑拆 hook 里,但是很难受的就是,业务逻辑往往又是多变多情况的,很可能今天封好,明天别人看不懂或者不好原地改,只能 cv 一个副本拿去用,而且拆得越多,写 props 和传参 n 层就非常麻烦,也不好维护一堆 ts 类型,这个倒是可以用状态管理解决,但那种多个地方用的组件,因为要用 context 隔离状态其实也挺难受的。vue 的话,vsc 插件太卡了,ts 服务经常也挂,一堆堆的语法糖,公共组件 v-model 和 emit 那套处理起来可比 react 麻烦多了,单文件行数爆炸,类型维护也难,但整体还是比 react 写法规范点,毕竟语法糖限制死了,react 里可见到太多把 hook 玩出花活一层套一层的了,我现在拿 vue 的响应式和 react 结合起来玩,写了个类似 valtio 的东西,清爽很多。react 的文档啊,其实能教的也都教了 但保不齐有人玩花活整点 js 里要动脑子的技巧。
    njzy
    njzy
    Dec 19, 2025 via iPhone❤️1
    81
    @wu67 vue 更符合直觉 认真的吗😂
    Chuckle
    Chuckle
    Dec 19, 2025
    82
    @Chuckle vue 里一堆 any 那是没得救的,emit 的 n 种类型写法,不知道匹配到啥的 function call 参数,没人维护的 inject 类型。reat 里要是一堆 any ,函数泛型慢慢拆,时间问题。自己项目 vue 干得快,多人的公司的项目,必须 react ,但我感觉现在这哥三框架,用着都多多少少有不得劲的地方
    demonzoo
    demonzoo
    Dec 19, 2025
    83
    @wu67 #20
    Vue 还不是要在 template 里面写 v-for ?真就比 map 简单了吗?
    jqtmviyu
    jqtmviyu
    Dec 20, 2025
    84
    @vaporSpace #36 因为会 vue 的人多有得挑, 都选 vue 了, 那还不是要求干得快就行, 最好第一天就接需求.
    colourfulsai
    colourfulsai
    Dec 20, 2025
    85
    @fizzzzz #42 既然是后端,那就 Blazor (破音)
    sakura1988
    sakura1988
    Dec 22, 2025
    86
    大哥别笑二哥,各有各的操蛋地方
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2006 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 234ms · UTC 15:01 · PVG 23:01 · LAX 07:01 · JFK 10:01
    ♥ Do have faith in what you're doing.