为什么感觉 React 编写起来比 Vue 复杂很多? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
PeiXyJ
V2EX    程序员

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

  •  
  •   PeiXyJ 7 小时 41 分钟前 3530 次点击

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

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

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

    另外一点是代码管理, vue 好一点是至少 template/script/style 三大件互不干扰,新手在不熟悉也容易搞出太抽象的代码.
    react 则像上面说的,非常极其特别容易整出来要么一个超大文件, 要么好好的需求清晰的业务组件拆的稀碎成十几个只有一个引用的文件,完全没人能看懂.
    Aleks
        10
    Aleks  
       7 小时 12 分钟前
    React 在理解上确实心智负担会重一些,Vue 更符合直觉好上手一点。但是论生态还是 React 更胜一筹。对大部分个人项目来讲,其实都够用了,都是工具。
    iv8d
        11
    iv8d  
       7 小时 11 分钟前
    一个纯手搓,一个有各种各样的规范要求。当年 angular 也是这样,严重影响推广。vue 这点就很吃香,一直在改进优化。
    PeiXyJ
        12
    PeiXyJ  
    OP
       7 小时 9 分钟前
    @kongkx 纯 AI 写的就不嫌丑了
    penzi
        13
    penzi  
       7 小时 9 分钟前
    因为你 vue 写多了,已经中毒了
    PeiXyJ
        14
    PeiXyJ  
    OP
       7 小时 8 分钟前
    @Aleks 主要还是看生态,现在 AI 化了感觉啥都生态绑定用个 VO 竟然不支持 Vue...
    liaohongxing
        15
    liaohongxing  
       7 小时 7 分钟前   2
    因为你已经完全适应了 template/script/style 三大件, 你已不适应 jsx, 这就不谈别人乱了。
    visper
        16
    visper  
       7 小时 6 分钟前   1
    react 更灵活。对不同的人来说,可能写得很不一样,不同的封装方式啊之类的。写得好的可能会很优雅,但是多数来说,确实会更乱。不要怀疑,就是代码更乱,你看好久看不出来在页面上的点击出现问题的代码可能不知道它封装在哪一个函数里面了。
    PeiXyJ
        17
    PeiXyJ  
    OP
       7 小时 5 分钟前
    @liaohongxing 好像是这个道理,直接先入为主了
    ccccccc
        18
    ccccccc  
       6 小时 58 分钟前
    你们说的 vue 那么简单,那试试一段时间不写 vue ,看看是否需要翻官方文档看语法
    Hilong
        19
    Hilong  
       6 小时 41 分钟前
    @ccccccc 还真不用,自从 16 年看了 vue2 的文档,后面升级了 vue3 也只简单看了一下 api 的改动,后面完全不用看文档,本身文档也没啥东西
    wu67
        20
    wu67  
       6 小时 30 分钟前 via Android
    vue 更直觉,react 感觉整个文件都在写 js ,部分 html 还要 map 出来...
    okakuyang
        21
    okakuyang  
       6 小时 25 分钟前
    vue 生态能和 react 生态比一比吗?感觉就是在捡 react 的剩饭。
    craftsmanship
        22
    craftsmanship  
       6 小时 15 分钟前 via Android
    怎么梦回几年前的感觉,,前端都凉透了还在争论 RV 吗
    skallz
        23
    skallz  
       5 小时 48 分钟前
    react 写习惯了还好,初学者可能会存在一个问题,就是它的设计哲学不符合大部分人的直觉,比如你修改一个变量,但是你在修改完成后立刻获取它,它并不一定是最新值,而是推荐你用 useEffect 或者 useRef 去拿到最新值
    cfancc
        24
    cfancc  
       5 小时 48 分钟前
    确实如此,写 react 累,要干好多活
    crocoBaby
        25
    crocoBaby  
       5 小时 40 分钟前
    中小厂写 react 已经找不到工作了
    codek1986
        26
    codek1986  
       5 小时 40 分钟前
    主做后端,vue react 都用,感觉还是 react 写起来舒服
    twofox
        27
    twofox  
       5 小时 24 分钟前
    写 react 的时候我觉得 vue 很好用,写 vue 的时候我觉得 react 很好用
    knowckx
        28
    knowckx  
       5 小时 8 分钟前
    我已经从 react 转 svelte 了 react 还是麻烦
    edisonwong
        29
    edisonwong  
       5 小时 7 分钟前
    react 轮子没的说,我遇到很多小众组件基本只有 react 有...难绷
    写 vue 心智成本低
    bbbblue
        30
    bbbblue  
       4 小时 59 分钟前
    react 要多拆组件 他的心智负担的确大一点 但其实用习惯了就那几个钩子
    现在 95%的组件和页面都让 AI 写了 自己把控一下组件粒度/复用 处理一下 AI 有时解决不了的循环依赖
    dust2
        31
    dust2  
       4 小时 55 分钟前
    @skallz vue 这种也是吧
    QlanQ
        32
    QlanQ  
       4 小时 51 分钟前
    php 模板时代过来的人,看了 react 那种 用 js 去生成 html 的 方式,看着就难受
    好不容易 php 不用和 html 和 js 混编了,结果 react 来了个 js 去生成 html 的混编
    MJNick
        33
    MJNick  
       4 小时 47 分钟前   1
    @ccccccc 是的,vue 时间一长就不记得那些语法糖了。react 就不需要记那么多语法糖和规则,只要你 Javascript 足够熟练,写 react 很快的,时间长了也不会忘记。
    SkywalkerJi
        34
    SkywalkerJi  
       4 小时 39 分钟前
    @QlanQ 每个时代都有自己的 php
    skallz
        35
    skallz  
       4 小时 16 分钟前
    @dust2 vue 并不是,vue 你同步修改了 ref 定义的变量后,后续直接取值它一定是最新的,不需要在类似 watch 的钩子里面读取最新值
    vaporSpace
        36
    vaporSpace  
       4 小时 12 分钟前   1
    vue 和 react 没啥优劣之分,有点基础的,都是几天就上手了。但是之前找工作有一点特别烦,用 react 的公司是不介意只用过 vue 的,只要基础好的就行。用 vue 的公司一定要招用过 vue 的,我说一天就上手,也不行,hr 那一层就卡死了。可能在有些面试官眼里,用 vue 的门槛很高吧
    kakki
        37
    kakki  
       4 小时 10 分钟前
    html js css 混编也是一种高内聚的方式.早期直接内嵌不习惯的原因是因为编辑器弱智,现代编辑器支持个内嵌 HTML 跟喝水一样简单,又不用你人眼 debug.完全就是傲慢与偏见.
    svendson
        38
    svendson  
       4 小时 8 分钟前
    react 经常性的一个页面干完全部活儿 哈哈哈
    location123
        39
    location123  
       4 小时 1 分钟前
    react 得将组件分的很细 不要在一个文件里 现在一边写 React 一边学 Compose 就很舒服
    dufu1991
        40
    dufu1991  
       3 小时 43 分钟前
    别对比 React 和 Vue 了,都没 Svelte 舒服,这是生态不够。不过 AI 时代来了,项目中的组件基本上可以自己写了。
    bgm004
        41
    bgm004  
       3 小时 21 分钟前
    @dufu1991 不应该是 solidjs ?
    fizzzzz
        42
    fizzzzz  
       3 小时 19 分钟前
    后端选手,喜欢 react 的生态,喜欢 vue 的语法。每次想自己折腾啥就很纠结选啥
    dudubaba
        43
    dudubaba  
       3 小时 5 分钟前
    react 是写无 html 的 js ,可以理解为任何一个 div 都是一个组件,不分公母。vue 是写 html + js ,公就是公母就是母。
    MJNick
        44
    MJNick  
       2 小时 58 分钟前
    @penzi 是这个道理
    HappyAndSmile
        45
    HappyAndSmile  
       2 小时 25 分钟前
    @ccccccc 是的,每次很久不写 vue ,就要从其他页面看看抄一下
    Yuunie
        46
    Yuunie  
       2 小时 19 分钟前
    React 还好吧,把大概执行原理搞清楚就容易了
    damila
        47
    damila  
       46 分钟前
    都说 react 下限低上限高,但我工作这么多年就没见过多少高上限的 react 代码,反而经常被刷新下限。当然可能是因为我水平低,没机会和大牛们共事
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2952 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:37 PVG 21:37 LAX 05:37 JFK 08:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86