V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yesswssdlh
V2EX  ›  程序员

真诚发问,非钓鱼贴。之前一直用的是 vue,最近学了下 react,感觉上 vue 的语法好像是比 react 更简单。那么为啥国内外大公司都在用 react,用 vue 的相对比较少呢?是因为 react 先流行起来的吗?

  •  6
     
  •   yesswssdlh · 2022-09-02 07:45:45 +08:00 · 18084 次点击
    这是一个创建于 573 天前的主题,其中的信息可能已经有所发展或是发生改变。
    185 条回复    2022-09-05 23:02:20 +08:00
    1  2  
    kinboy
        1
    kinboy  
       2022-09-02 07:56:30 +08:00 via Android   ❤️ 4
    原生 js 语法更简单,你咋不用原生呢
    CookCoder
        2
    CookCoder  
       2022-09-02 07:57:41 +08:00   ❤️ 62
    @kinboy 上来就抬杠有意思么
    yesswssdlh
        3
    yesswssdlh  
    OP
       2022-09-02 07:59:18 +08:00
    @kinboy 什么公司这么牛啊,写项目用原生的啊?
    yesswssdlh
        4
    yesswssdlh  
    OP
       2022-09-02 08:00:20 +08:00
    我 react 也就是学了写基础的内容,可能没有学的很深,所以得到的结论比较浅显,希望又 react 用的比较久的朋友说说看法
    murmur
        5
    murmur  
       2022-09-02 08:04:50 +08:00   ❤️ 1
    国内 vue 很流行啊,你的错觉吧,国外是 react 多
    cmdOptionKana
        6
    cmdOptionKana  
       2022-09-02 08:07:43 +08:00   ❤️ 7
    vue 冒头的时候,react 早已成名了,react 还出身名门大派,而 vue 只是一个个人项目,vue 能有今天的成绩已经是一个奇绩。

    比起 vue 为什么占有率不如 react 的问题,我更好奇 vue 究竟是怎么升上来的,前端框架竞争很激烈,框架一大堆,能广泛流行的却没几个。
    murmur
        7
    murmur  
       2022-09-02 08:09:47 +08:00   ❤️ 6
    @cmdOptionKana vue 应该是蚕食的 jquery 的市场,简单就完了

    vue 继承了 jquery 在 api 上的简练 易懂,不用多少英语就可以学的会,这是人性化的美,需要每个产品经理都学习一下

    相比之下,品一下,dangerouslySetInnerHTML ,这名字又长又臭,需要你告诉我危险吗
    debuggerx
        8
    debuggerx  
       2022-09-02 08:13:12 +08:00 via Android   ❤️ 15
    有没有一种可能性 vue 并没有比 react 更简单 觉得 vue 简单只是一种错觉
    christin
        9
    christin  
       2022-09-02 08:13:18 +08:00 via iPhone   ❤️ 6
    vue 需要另外学习 vue 的语法,react 只要会 js 就行了
    gromit1337
        10
    gromit1337  
       2022-09-02 08:13:21 +08:00 via iPhone
    ( 1/1 )
    Rocketer
        11
    Rocketer  
       2022-09-02 08:14:24 +08:00 via iPhone
    生态问题,跟框架本身的好坏关系不大。

    Java 那么差,不仍然是最流行的语言吗? C#站在 Java 的肩膀上改进了那么多,在中国不也没人用吗?
    murmur
        12
    murmur  
       2022-09-02 08:14:44 +08:00
    @christin 有没有可能,js 的某些特性也是需要学习的,对于后端兼职前端来说,会点 js 的语法,会点 css 、html ,就可以干活了
    tanhui2333
        13
    tanhui2333  
       2022-09-02 08:17:56 +08:00 via Android   ❤️ 2
    react 没有许可证事件应该比现在好很多
    yigemeirenyongde
        14
    yigemeirenyongde  
       2022-09-02 08:18:07 +08:00
    @murmur 我觉得你的说法,很不错
    cmdOptionKana
        15
    cmdOptionKana  
       2022-09-02 08:18:17 +08:00   ❤️ 4
    @debuggerx
    @christin

    react 有点像 Lisp ,基本规则是简单,但到了解决实际问题时就需要消耗更多脑力了。

    也有点像围棋,基本规则比象棋简单,但实际下棋的时候围棋更消耗脑力。
    IvanLi127
        16
    IvanLi127  
       2022-09-02 08:21:28 +08:00 via Android
    vue, angular, react 。这三个都用过,现在写项目只考虑后两者了。vue 2 真就不适合写正经项目,不过个人觉得,vue 3 真的是解决了 vue 2 的大问题,但是我也不太想用 vue 了。
    hefish
        17
    hefish  
       2022-09-02 08:22:00 +08:00   ❤️ 1
    我觉着就跟国内做 java ,碰到 json 就引入 fastjson ,而国外多用 Jaskson , 国内碰到访问数据库就引入 mybatis 系列,而国外很多都用 jpa ,hibernate 那样。。 因为国内有个阿里,腾讯这样的公司,每年优化出来不少人,这些人去了其他公司也带出了一种氛围。
    murmur
        18
    murmur  
       2022-09-02 08:23:04 +08:00
    程序员跟大众的思路不同,程序员对于同样能干活的东西,倾向于选择难的,react 是这样,ts 的类型定义是这样,flutter 是这样,rxjs 这些也是这样

    不卷起来饭碗能包得住么,市场减量,产品线砍掉,ui 风格不变,需求没大变化,就几个活动切图仔也可以做

    怎么办,只能自己革自己的命,要不老板看到你没啥用不裁了干嘛
    ada87
        19
    ada87  
       2022-09-02 08:33:27 +08:00
    都用过(vue3 没用过,感觉也一般),感觉 React 吊打 vue ,
    抛开这点来说,React 在时间上确实有优势,但这么久了,这点优势也影响不大,还是质量优秀(参考 Angular )。

    React 牛的地方:
    1. 重置了前端编程的思想,算是一个开创者。
    2. 设计理念优秀,十多年了,内核升级了 N 多次,但 API 基本上在设计上兼容,不像很多框架,升个版本需要改一大堆。
    acthtml
        20
    acthtml  
       2022-09-02 08:33:32 +08:00   ❤️ 1
    个人感觉 web component 的 vue 还是比 everything in js 的 react 好用点。
    murmur
        21
    murmur  
       2022-09-02 08:36:46 +08:00
    @ada87 vue1 到 2 是彻底改了底层,vue2 到 3 是选择性升级,vue2 没什么问题,除了不够 geek ,他是个成熟的框架,可以优化自己,生态也比较成熟,不追时尚继续用是没问题的
    a2532521
        22
    a2532521  
       2022-09-02 08:50:57 +08:00
    @Rocketer C# 有今天这局面。。还得怪微软
    yesswssdlh
        23
    yesswssdlh  
    OP
       2022-09-02 08:55:49 +08:00
    @murmur 国内 vue 好像大多数都是中小厂在用,知名大厂好像没怎么有人在用。
    waiaan
        24
    waiaan  
       2022-09-02 08:56:54 +08:00
    vue 比 react 简单,vue 的写法更接近原生 js 开发的写法,比较能接受,私以为。
    xqk111
        25
    xqk111  
       2022-09-02 08:57:40 +08:00
    感觉 react 是对于 js 的扩展 ,vue 更像一个新的语言。react 写起来会比 vue 更灵活
    yeh
        26
    yeh  
       2022-09-02 08:57:50 +08:00   ❤️ 1
    大厂选 react 是因为 react native 的原因,很多都在写 react native ,顺手转 react html5 很自然,反之也一样,甚至还有 jd 这个异类搞了 taro ,基于 react 一把梭小程序 /h5/app (当然 bug 也不少)

    vue 上不去也是因为上面这个原因,所以小厂用的多。
    yesswssdlh
        27
    yesswssdlh  
    OP
       2022-09-02 08:59:00 +08:00   ❤️ 3
    @murmur vue3 比 2 感觉提升还是蛮明显的,3 开发起来更清晰了,个人感觉
    cslive
        28
    cslive  
       2022-09-02 08:59:45 +08:00
    为啥不试试 angular 呢,没准更简单
    murmur
        29
    murmur  
       2022-09-02 09:00:01 +08:00
    @yesswssdlh 没有意义,选最适合自己的,大厂有一大把的前端高级开发,别人想怎么折腾怎么折腾,只有 react 这种底朝天都可以造轮子的框架能维持住这么多人的岗位

    “据我估计,阿里大大小小 100 多个前端团队应该有的,每个团队的人员结构、技术背景、业务形态也都各自不同,选用什么样的框架大多是团队内部决定,并没有 Vue 不适合阿里业务一说。用 Vue 的团队也还是很多的,比如阿里通信。当然这种状况对阿里的前端技术体系也会带来一些弊端,比如很多团队会自己搞一套脚手架或组件库,重复的轮子也比较常见。其实,这么大一个集团想要把前端技术框架统一掉是很难的。

    作者:英布
    链接: https://www.zhihu.com/question/63058863/answer/205351300
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。”
    yesswssdlh
        30
    yesswssdlh  
    OP
       2022-09-02 09:00:25 +08:00
    @yeh 搜嘎
    luckycat
        31
    luckycat  
       2022-09-02 09:01:33 +08:00 via iPhone
    我认为主要的区别就是 react 提供的是机制,而 vue 提供的是策略。

    长远来看,提供机制的软件生命周期更久。
    yesswssdlh
        32
    yesswssdlh  
    OP
       2022-09-02 09:02:44 +08:00
    @murmur 唉,现在工作卷的很,只有想办法多学点东西咯,很多时候都是看公司做项目用啥,然后学啥。
    yesswssdlh
        33
    yesswssdlh  
    OP
       2022-09-02 09:04:06 +08:00
    @luckycat 机制和策略是啥意思呢?不是很理解 0.0
    kinboy
        34
    kinboy  
       2022-09-02 09:08:10 +08:00
    @CookCoder #2 语法难易程度本身是相对的,对于新手而言语法简单容易上手,但是在具有技术决策权的架构角度,并不会考虑新手上手简单而决定用哪个框架,OP 的提问中表达了这一层因果关系,我也是顺着这个逻辑说了一句
    KevinDo2
        35
    KevinDo2  
       2022-09-02 09:08:44 +08:00
    我和我朋友都觉得,写 React 就像在写原生。
    luckycat
        36
    luckycat  
       2022-09-02 09:10:13 +08:00 via iPhone   ❤️ 4
    @yesswssdlh 机制就像是规则,策略是一种具体实现方式。策略容易过期,机制则生命长久。以下节选自 unix 编程艺术:

    也许 Unix 最持久的异议恰恰来自 Unix 哲学的一个特性,这一条特性是 X window 设计者首先明确提出的。X 致力于提供一套“机制,而不是策略”,以支持一套极端通用的图形操作,从而把使用工具箱和界面的“观感”(策略)推后到应用层。
    Unix 其它系统级的服务也有类似的倾向:行为的最终逻辑被尽可能推后到使用端。Unix 用户可以在多种 shell 中进行选择。而 Unix 应用程序通常会提供很多的行为选项和令人眼花缭乱的定制功能。
    这种倾向也反映出 Unix 的遗风:原本是为技术人员设计的操作系统;同时也表明设计的信念:最终用户永远比操作系统设计人员更清楚他们究竟需要什么。

    然而这种选择机制而不是策略的代价是:当用户“可以”自己设置策略时,他们其实是“必须”自己设置策略。非技术型的终端用户常常会被 Unix 丰富的选项和接口风格搞得晕头转向,于是转而选择那些伪称能够给他们提供简洁性的操作系统。
    只看眼前的话,Unix 的这种自由放纵主义风格会让它失去很多非技术型用户。但从长远考虑,最终你会发觉这个“错误”换来至关重要的优势:策略相对短寿,而机制才会长存。现今流行的界面观感常常会变成明日进化的死胡同(去问问那些使用已经过时的 X 工具包的用户,他们会有一肚子苦水倒给你!)。说来说去,只提供机制不提供方针的哲学能使 Unix 长久保鲜;而那些被束缚在一套方针或界面风格内的操作系统,也许早就从人们的视线中消失了。
    cco
        37
    cco  
       2022-09-02 09:12:51 +08:00
    小作坊大多都是 vue ,因为入门简单容易上手,文档友好,能低成本完成任务。
    大公司大部分都是 react 。
    angular 稍微有些少。
    这三个都能支撑大部分的需求,所以选哪个随意,公司统一就行。
    zhuweiyou
        38
    zhuweiyou  
       2022-09-02 09:13:43 +08:00
    vue 和 react 我都用好几年了,我认为 react 更简单.

    react api 很少,只要你懂 js 的话,不难. 而 vue 的 api 很多,还得查文档...很多黑魔法写法.
    yesswssdlh
        39
    yesswssdlh  
    OP
       2022-09-02 09:14:28 +08:00
    @luckycat 搜嘎
    murmur
        40
    murmur  
       2022-09-02 09:14:46 +08:00
    @zhuweiyou

    “只要你懂 js 的话”这句话就跟只要你是数学系研究生毕业,数学不难一样没有意义
    laolaowang
        41
    laolaowang  
       2022-09-02 09:15:17 +08:00
    有没有一种可能是 vue 的作者是一个 “中国人”,有比较完善的中文文档?所有 vue 用的比较多?
    murmur
        42
    murmur  
       2022-09-02 09:17:04 +08:00
    vue 的 api 很多,但是都不反直觉

    你跟一个后端说循环渲染用 map 不能用 forEach ,别人会很费解的

    到了 vue ,v-for ,小学生程序员都能很轻松掌握
    ufan0
        43
    ufan0  
       2022-09-02 09:22:10 +08:00
    @laolaowang #41 同意

    并且国内码农界界素来有国外的就是香的一说,不止一次听到某大厂人说 React 很香不信任 VUE ,因为其中国人开发的,没有大厂背书,所以选择 React 。
    并且从骨子里看不起 VUE 认为就是小作坊的工具罢了。
    硬要他说出来的对比点都是 VUE 与 React 不相上下的。
    zhuweiyou
        44
    zhuweiyou  
       2022-09-02 09:23:26 +08:00
    @murmur 你非要让后端来写前端本身就是一件错误的事情. 再说一个后端连 map 和 forEach 都理解不了,我不认为他能写好后端...
    fengci
        45
    fengci  
       2022-09-02 09:23:46 +08:00
    dudubaba
        46
    dudubaba  
       2022-09-02 09:23:55 +08:00   ❤️ 1
    个人感受:vue 写单页面一把梭不用组件这种用着很爽,简洁快。但是一旦复用组件,组件的封装及使用都很别扭,反而 react 就很一目了然,组件的结构也很清晰,灵活度及可维护性上明显优于 vue 。
    murmur
        47
    murmur  
       2022-09-02 09:27:15 +08:00
    @zhuweiyou 现在都讲究全栈,就简单的后台页面,没必要专门找前端开发,自己搞定就可以,自己跟自己配合还省去了撕逼的成本

    所以说选 vue 还是 react 还是看项目的复杂度,你要是开发个 word online 那肯定选。。。原生,因为要用 canvas 精准把控每个细节,react 做下界面还可以

    如果就是单纯的后台、展示类页面,vue 也不差
    JaguarJack
        48
    JaguarJack  
       2022-09-02 09:28:53 +08:00
    我觉得中文文档占大头,其他都是次要的
    particlec
        49
    particlec  
       2022-09-02 09:33:40 +08:00
    一直用的 react+antd+ts ,感觉比别人 vue 代码量多,一种很模板式、规范式但是很通用的感觉,以后工程小的还是用 vue
    kett
        50
    kett  
       2022-09-02 09:34:06 +08:00
    react 有大厂背书,生态丰富
    okakuyang
        51
    okakuyang  
       2022-09-02 09:43:35 +08:00
    昨天看见一篇丧文(恶搞),老外写的“为什么你不应该选择某某框架”。里面不应该用 react 的理由就是 facebook 出的,不该用 vue 的理由就是“好像在中国有很多人用,这一点就够怀疑了”。
    hzjseasea
        52
    hzjseasea  
       2022-09-02 09:44:41 +08:00
    同样两个都用了半年左右,react18 更爽点
    Leviathann
        53
    Leviathann  
       2022-09-02 09:44:53 +08:00
    因为现在的 gui 是现有 react 后有天 flutter swiftui compose 都是 react 的后代
    react 是革命性的框架
    terranboy
        54
    terranboy  
       2022-09-02 09:46:14 +08:00
    不太喜欢 VUE3 的 PROXY 概念 学习 REACT HOOK 的思想 为何不直接用 REACT
    murmur
        55
    murmur  
       2022-09-02 09:48:12 +08:00
    @Leviathann flutter 真要是 react 的后代就会把 dart-x 做出来而不是那么一套丑陋的嵌套写法
    cyrbuzz
        56
    cyrbuzz  
       2022-09-02 09:52:47 +08:00
    React 更加灵活,几乎每个地方都可以以自己的想法实现,容易造一套包含自己规则的轮子。
    newmlp
        57
    newmlp  
       2022-09-02 09:57:27 +08:00   ❤️ 1
    因为 react 的思想更接近于写一个客户端
    ma836323493
        58
    ma836323493  
       2022-09-02 09:58:57 +08:00   ❤️ 1
    真正能打的大工程 还是得用 angular
    jguo
        59
    jguo  
       2022-09-02 10:03:02 +08:00
    react 约等于 html+js ,vue 还有自己的一套 directive ,怎么就语法简单了
    zhaol
        60
    zhaol  
       2022-09-02 10:05:02 +08:00
    react 更灵活,vue 更简单
    justin2018
        61
    justin2018  
       2022-09-02 10:06:06 +08:00
    Vue 语法多 有时候记不住 还得看文档

    虽然公司项目是 Vue 但是个人还是喜欢 React

    +1 React
    murmur
        62
    murmur  
       2022-09-02 10:08:14 +08:00
    @jguo vue=html+js 的语法一小部分+template

    vue 是不需要写短路运算和 map 来实现 for 和 if 语法当然简单,还是上面的例子,你让一个初学者明白模板里应该用 map 不能用 forEach ,这是需要点口水的

    而且啊而且,html 里从亘古以来都是写的 class ,哪里的 html 写 className ,你怎么跟人解释这点
    AllenW
        63
    AllenW  
       2022-09-02 10:09:45 +08:00
    我司是因为项目原本是国外团队搞得,后来转给我们所以就 react 了,我们自己本地用的就爱用啥用啥 jq vue react 都有把活干了就行···
    ddch1997
        64
    ddch1997  
       2022-09-02 10:18:20 +08:00
    不知道是不是我们公司的原因,vue 转 react 的产出能力比 react 转 vue 的差很多。vue 让人比较舒服的是生态里路由配置这一块
    youxiachai
        65
    youxiachai  
       2022-09-02 10:18:41 +08:00
    vue 归根到底.还是一个个人项目..其实能做到现在个地步已经很厉害了..其实不知道,为什么还有那么多人看不起..
    zbhcoder
        66
    zbhcoder  
       2022-09-02 10:19:31 +08:00
    @christin react 要学的也不少
    murmur
        67
    murmur  
       2022-09-02 10:21:39 +08:00   ❤️ 5
    @youxiachai 洋人放个屁都是香的,一个个犀牛书背的滚瓜烂熟,会 prototype 、promise 的奇葩面试题的前端开发,记不住 vue 的 api ,你信么

    问他为啥 react 要写 className ,他说是纯 js ,人家就说这是 jsx ,jsx 不是 html ,洋人怎么做都是对,没做的都是恰到好处,放个屁都得写 2000 字论文论证这个屁恰到好处的释放了味道,又没惊醒周围的人,这是原生的屁
    zmal
        68
    zmal  
       2022-09-02 10:27:02 +08:00   ❤️ 4
    两个都用过,都很优秀。
    用 React 会强迫使用者有工程化组件化的思维,写大项目会更舒服一些。
    Vue 上手更简单,想怎么写都行,也很舒服。
    但不是一种舒服,Vue 是一种随心所欲的舒服,React 是鳞次栉比的舒服。
    NerbraskaGuy
        69
    NerbraskaGuy  
       2022-09-02 10:28:35 +08:00
    国内 React 用的多 antd 有很大贡献吧(不负责任猜的),vue3 还没深入用过不谈感受,个人感觉对比老版本对比起来还是更偏爱 React ,但是杭州这边我感觉小公司还是用 vue 居多吧。
    Manweill
        70
    Manweill  
       2022-09-02 10:28:55 +08:00
    @murmur 换个例子吧,map 和 foreach 不适合当作例子。
    nzbin
        71
    nzbin  
       2022-09-02 10:30:37 +08:00
    任何人都会先入为主,所以进了舒适区就不想跳出来,否则也不会成天拿框架撕逼。本人纯前端,没写过后端,但是我倒觉得 angular 更简单
    murmur
        72
    murmur  
       2022-09-02 10:31:28 +08:00   ❤️ 1
    @Manweill 很适合,对于需要渲染大量内容的,循环和条件判断是基础工作,越是基础的地方越能看出设计的人性化和优美

    你说 react 可以自己优化,我就渲染点东西,又不是放成千上万个复杂组件在内,我就相信 vue 了,我也不会去写什么 shouldComponentUpdate ,你用 hooks 要求写每个变量的刷新控制,那更是心智负担
    Haixiang
        73
    Haixiang  
       2022-09-02 10:37:01 +08:00
    其实用到最后用哪个都一样。

    至于大公司都用 React 只是一部分吧,也有不少团队用 Vue 的。React 用得多更多是因为之前的人用了 React (可能那时候 React 比 Vue 更火?),所以就一直用 React 了,也没必要非要大换血换 Vue 。另一方面也有很多团队做跨端的,这部分会用 RN 比较多,所以 React 自然也会用得多喽。
    christin
        74
    christin  
       2022-09-02 10:37:11 +08:00 via iPhone
    @zbhcoder 只考虑“能做出来”,react 只需要会 js 就行了,hooks 那些不用也能写出来页面。
    vue 你总得会 v-for v-model 吧
    theohateonion
        75
    theohateonion  
       2022-09-02 10:39:03 +08:00
    或许 OP 可以举个例子看看觉得哪个地方 vue 比 react 更简单?
    roundgis
        76
    roundgis  
       2022-09-02 10:39:10 +08:00 via Android
    murmur
        77
    murmur  
       2022-09-02 10:39:43 +08:00
    @christin v-model 和 v-for 比 hooks 难学,你在逗我么,react 是成熟的框架,他应该知道哪些变量改动会触发渲染,为啥这个判定条件还要我自己写

    而且 v-model 的本质不就是绑定 data 里的变量
    ChefIsAwesome
        78
    ChefIsAwesome  
       2022-09-02 10:42:39 +08:00 via Android
    选择框架,不是看它能不能实现 xx 功能(叫得上名字的都能)。而是看它能不能提供一套聪明的机制,帮你把大问题拆成小问题,从而解决越来越复杂的需求。
    vue2 就有那么多人说比 react 好。为什么 vue3 学 react 也搞了个 hook 的功能?楼主你不用它去做个复杂项目,不在做项目的时候不断重构,思考模块化,是很难明白的。
    murmur
        79
    murmur  
       2022-09-02 10:44:58 +08:00
    @ChefIsAwesome 我笑了,jquery 年代都能做复杂项目、大项目,给了 vue 做不出来,是人菜了还是人太挑剔

    开原框架互相学习是个好事,有人愿意用 hooks 的语法,那就提供给他,不喜欢 hooks 的用老语法甚至用 vue2

    提供的选择多了是坏事么

    就跟 vue 一样有 jsx 一样,而且,vue 的 jsx 写的是 class 不是 className

    vue 一样做模块化,一个文件一个组件不叫模块化是吧,java 咋就一个 class 一个文件呢
    keyrinrin
        80
    keyrinrin  
       2022-09-02 10:46:03 +08:00
    明明大家都是切图仔,天天在从 js 里面找优越感,哪个适合自己就用哪个,css 精通了没有
    nzbin
        81
    nzbin  
       2022-09-02 10:46:10 +08:00   ❤️ 4
    @youxiachai 简单列几点吧:
    1 、vue 最开始确实抄袭了 angularjs 的设计理念及部分实现,但是作者并不承认
    2 、vue 的营销有点低劣,最开始的文档上面列举了和所有框架的对比,但是很多对比并不准确(对其它框架的认识很肤浅),导致很多人误以为真
    3 、vue 作者态度趾高气昂,喜欢知乎上面怼天怼地,只要你说一点 vue 的不好,作者就很快现身
    4 、vue 作者的很多行为让人一脸问号,比如前段时间去 react 官方下面回复新文档加载速度不如 vue 文档,还让把 cra 换成 vite 等等
    murmur
        82
    murmur  
       2022-09-02 10:46:48 +08:00   ❤️ 2
    而且你要思考,你是不是为了组件化而组件化,比如 table-row 、table-cell ,这些是没必要抽象出来的

    react 的组件化强迫症很大一部分来源于 jsx 的奇葩写法,如果你不抽离组件,你就会看到 js 和 html 交织飞舞的尴尬场景

    说句人话,jsx 连基本的对齐都没法保证,何谈工程化
    sweetcola
        83
    sweetcola  
       2022-09-02 10:47:40 +08:00   ❤️ 4
    首先是下载对比 https://npmtrends.com/react-vs-vue (最新是 React: 16,539,721 次,Vue: 3,439,663 次)

    > dangerouslySetInnerHTML

    React 官方文档里已有详细解释: https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml
    总而言之,直接使用 innerHTML 是比较危险的操作,无论熟悉与否都应该尽量避免。

    > 讨厌 JSX

    React 完全可以不使用 JSX: https://reactjs.org/docs/react-without-jsx.html
    为什么用 React 的人都(可能有一些人没使用)使用 JSX ?那肯定是觉得 JSX 更好。

    > JSX 无法排版

    与在 .html 文件里写 HTML 一样的排版。如果是函数或 style 写在 JSX 里的问题,完全可以在 return (); 前书写有名函数或 style 对象。
    不愿意写 {boolean && </>} 逻辑的话完全可以在 return (); 前定义一个接受 boolean 的组件,比如: <Component display={boolean} />

    > 用 React 需要懂 JS

    个人觉得只要你从事前端开发,会 JS 是必须具备的技能,不能以任何方式回避。

    > className

    https://reactjs.org/docs/dom-elements.html#classname
    而且,className 是 Element 的属性之一。可以在控制台里找一个有 class 的元素再在 Console 里输入 $0.className 。
    murmur
        84
    murmur  
       2022-09-02 10:47:57 +08:00
    @nzbin 你要做出个 vue 你也趾高气昂,咋了 vue 作者承认自己牛逼都不让,营销只是手段,产品好就行,允许 react 自带洋人 buff 不允许 vue 搞下场营销是吧
    shintendo
        85
    shintendo  
       2022-09-02 10:48:17 +08:00   ❤️ 4
    楼上很多的争论是鸡同鸭讲,看似在争哪个“简单”,其实一个说的是 simple 一个说的是 easy 。
    sadfQED2
        86
    sadfQED2  
       2022-09-02 10:48:27 +08:00
    国外不知道,但是国内 vue 大小公司用得都不一定比 react 少啊
    shintendo
        87
    shintendo  
       2022-09-02 10:59:24 +08:00   ❤️ 2
    “React 完全可以不使用 JSX”这种话还是算了,跟“Vue 完全可以不使用模板”一样,都是正确而没有意义的口水。TS 也可以当 JS 写,C++也可以当 C 写
    momowei
        88
    momowei  
       2022-09-02 11:00:32 +08:00   ❤️ 2
    很多人真的那么喜欢 react 么,你们喜欢的可能只是 antd,我敢打赌,没有阿里的 antd,国内 b 端用 react 的可以腰斩。
    towry
        89
    towry  
       2022-09-02 11:11:02 +08:00
    @murmur 你的思路很奇特
    freeskysssss
        90
    freeskysssss  
       2022-09-02 11:12:44 +08:00   ❤️ 1
    尤雨溪懂条毛 vue
    Hanser002
        91
    Hanser002  
       2022-09-02 11:15:36 +08:00   ❤️ 1
    @momowei vue 的组件库维护的很糟糕 很多人都是从 element -> antdv 。react 除了 antd 还有 suite mui 这种,生态比 vue 要好很多
    jun4rui
        92
    jun4rui  
       2022-09-02 11:15:38 +08:00   ❤️ 2
    @momowei 没有 element-ui 呢的 Vue 呢?
    newSimpleLife
        93
    newSimpleLife  
       2022-09-02 11:20:37 +08:00
    生态 有非常大的区别
    churchill
        94
    churchill  
       2022-09-02 11:21:00 +08:00   ❤️ 1
    https://github.com/facebook/create-react-app/issues/6880
    窥一斑而知全豹,一条具体的 lint rule 都反复详细的解释
    我想 React 社区是真诚的,他们喜欢讨论技术、工程,他们不会像某些技术 /框架的拥趸们喜欢打这种无意义的口水仗
    guzzhao
        95
    guzzhao  
       2022-09-02 11:23:28 +08:00
    初步学了学 vue 和 react,都说 react 的 api 少,但是感觉比 vue 并不少啊😂
    murmur
        96
    murmur  
       2022-09-02 11:24:53 +08:00
    @jun4rui 还有 uniapp 做小程序啊
    shakukansp
        97
    shakukansp  
       2022-09-02 11:25:13 +08:00   ❤️ 1
    因为作者原因去 diss 一个开源库是脑瘫行为
    4196
        98
    4196  
       2022-09-02 11:25:38 +08:00
    vuetify quasar ,国外很多好用的 vue UI 库,非得盯着国内的 element-ui iview 吗?
    murmur
        99
    murmur  
       2022-09-02 11:26:05 +08:00
    @churchill useEffect ,useRef ,这种在 hooks 里这么常见的 api ,却需要一群大牛在 github 上长篇大论的讨论

    是不是侧面说明了 react hooks 的难用之处?
    3dwelcome
        100
    3dwelcome  
       2022-09-02 11:27:25 +08:00
    VUE 更好用,更好维护。

    但是很多时候,编程不是为了让码农写代码更舒服,而是要解决一切奇葩复杂的问题。光从自由度来说,基于 JS 的 React 要好那么一点。

    同时 VUE 是一个自有框架,有自己的扩展语法,不是每一个大厂,都希望无脑基于别人框架开发程序的。大厂更倾向于开发自己的框架,修修补补,毕竟也是 KPI 。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1322 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 17:46 · PVG 01:46 · LAX 10:46 · JFK 13:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.