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

react 相对于 vue 优秀在那里!

  •  
  •   Rust2015 · 18 天前 · 7831 次点击

    为什么大家都对 react 很推崇

    103 条回复    2025-01-02 18:47:55 +08:00
    1  2  
    grumpyFish
        1
    grumpyFish  
       18 天前   ❤️ 34
    react 有 5 个字母,vue 才 3 个字母,5>3
    musi
        2
    musi  
       18 天前
    现在不是都在骂么
    nomagick
        3
    nomagick  
       18 天前   ❤️ 1
    React 属于是 PHP 秽土转生
    zdw189803631
        4
    zdw189803631  
       18 天前
    其实都差不多,而且 vue 反而更迎合国内环境,react 强在生态,这其实很关键,其次有大厂背书,tsx 就是比 .vue 写的舒服,这一点没办法,对我而言,用啥都行,如果问我喜欢哪个框架,我会说我喜欢 vue ,但是如果真实工作的项目,我会优先考虑 react

    加上最近 react 商业化比较严重,这一点其实不太讨喜
    hackyuan
        5
    hackyuan  
       18 天前
    前端六年不会 react ,工作也还好找,又不是不能活 🤣
    当然初学者不要学这种瓜皮态度,尽量两个都会吧。
    FakerLeung
        6
    FakerLeung  
       18 天前
    @nomagick #3 那是 next 吧?
    Rust2015
        7
    Rust2015  
    OP
       18 天前
    @zdw189803631 react 写起来就是舒服,真的是一把梭😂
    subframe75361
        8
    subframe75361  
       18 天前 via Android
    高质量轮子多,其他都是虚的
    ohhow
        9
    ohhow  
       18 天前
    @subframe75361 个人感觉 vue 写起来舒服,不过 react 高质量轮子确实多,最近在转向 react 了
    ltaoo1o
        10
    ltaoo1o  
       18 天前
    react 的 jsx 写起来和写 js 一样,vue 写模板时要思考对应的模板语法,就这一点算优点,别的都是缺点。
    RogerL
        11
    RogerL  
       18 天前
    生态,React 生态比 Vue 强很多,但是 React 我感觉心智负担太大了,真开发我还是更习惯 Vue
    Hancock
        12
    Hancock  
       18 天前
    AI 提示更好
    gzyguy
        13
    gzyguy  
       18 天前
    写了很多 React 和 Vue2 、Vue3 项目,个人觉得 Vue3 比 React 舒服一些。
    wanguorui123
        14
    wanguorui123  
       18 天前
    Vue 写模板比较简单和 Angular 一样,React 的优势就是 RN 写跨平台原生 App 方便
    dcsuibian
        15
    dcsuibian  
       18 天前
    只能说各有优点,但综合来说我觉得 Vue 更有秀
    ——来自于 Vue2 转 React 转 Vue3 选手的肺腑之言
    2067
        16
    2067  
       18 天前


    (我觉着这个应该不算直接粘贴 AI 结果)
    skywardcn
        17
    skywardcn  
       18 天前
    还是写 React 习惯一点
    godleon
        18
    godleon  
       18 天前
    个人感觉哈

    react 前后端都能干,就是你如果需要写一个生产级的 web 项目,那一个 react 就可以了,如果你单拿他写一些 web 页面,感觉有点大材小用;

    vue 如果达到一个生产级的 web 项目,你需要有可靠的服务端 来搭配使用;

    react 的生态太强了,而且质量都很高,像一些 UI 组件,动效,图表,我发现高质量的还都是 只拥抱 react ,那丝滑程度,美观程度,那性能调效,就是舒服;

    不过我还发现,react 生态开发出来的东西,风格一般偏向于海外(夸张 抽象 极简),国内这种项目 一般都只要稳定 中规中矩 (比较规矩 可以没有设计而言 ),vue 只能说更适合的是国内的使用方;
    Track13
        19
    Track13  
       18 天前
    jsx 文件中可以有多个组件和其他函数。
    灵活,比如 Render Props 。
    asen001
        20
    asen001  
       18 天前
    封装组件更灵活,ts 支持更好。
    vue 虽然也能写 jsx ,但是还是感觉怪怪的,而且编辑器提示主要都是 template 写法的。
    另外 volar 非常吃内存,偶尔会卡住没有提示,需要重启编辑器( webstorm )
    gechang
        21
    gechang  
       18 天前   ❤️ 5
    我讨厌在 js 里写 html 代码
    freezebreze
        22
    freezebreze  
       18 天前
    那我问你
    skallz
        23
    skallz  
       18 天前
    @godleon react 恰恰是前后端都干才被骂的,专人做专事,混在一起后端生态又远远跟不上 java 这些传统后端语言的生态,只是一个架子在那
    horizon
        24
    horizon  
       18 天前
    最好的就是 tsx
    vue3 的 ts 支持有点差
    minglanyu
        25
    minglanyu  
       18 天前   ❤️ 1
    说下使用 react 引入 hooks 和 vue2 的感受
    1. 暗坑比 vue2 少
    2. api 简洁,没有自创的一堆东西,比如指令之类的
    3. ts 支持好(简单的包用 tsc 打就行了)
    shench
        26
    shench  
       18 天前
    @grumpyFish 我第一个反应也是这个
    ttkit
        27
    ttkit  
       18 天前   ❤️ 1
    没必要争论,vue 用来好几年,最近 1 年都在用 react ,最后还是发现 Rect 最好,再也不想用 vue 了。
    bello123
        28
    bello123  
       18 天前
    上手比 vue 更难,这个群体就会嘲笑 vue 太简单是条狗都能写,所以用 vue 不能体现出他们的优越感,本能就吹咯
    murmur
        29
    murmur  
       18 天前
    b 格更高,上手门槛更高,更容易构建壁垒(不容易被新人替换)
    Jinyang7
        30
    Jinyang7  
       18 天前
    出的早
    taiLi
        31
    taiLi  
       18 天前
    门槛高些 就像后端与前端 react 与 vue flutter 与 uniapp webstrom 与 vscode 之类的
    goldeye0351
        32
    goldeye0351  
       18 天前
    感觉 nextjs 很不错
    linxl
        33
    linxl  
       18 天前
    jsx 我至今没法接受(当然也没写 react 好多年了)
    Donaldo
        34
    Donaldo  
       18 天前   ❤️ 3
    @grumpyFish #1 五字不行
    chesha1
        35
    chesha1  
       18 天前
    首先生态好太多了

    而且可以研究的地方比较多,在公司写 vue2 的时候感觉自己是个臭写代码的,下班做自己的项目用 react 的时候,才感觉自己算前端工程师
    zhengfan2016
        36
    zhengfan2016  
       18 天前 via Android   ❤️ 1
    就我个写 react 的觉得 vue 的.value 写法很别扭吗。

    我很喜欢解构的写法,但是用 vue3 ,torefs 一层层包,不小心哪一层漏掉了就丢响应式了,而且丢响应这个 bug 还很难马上发现。只能写一长串的 data?.data?.items ...这样的变量才保险不容易出错
    nyxsonsleep
        37
    nyxsonsleep  
       18 天前
    @Donaldo
    asiasky
        38
    asiasky  
       18 天前
    大部分后端会的前端技术栈都是 vue ,这就是 react 的优势
    dreamingclj
        39
    dreamingclj  
       18 天前   ❤️ 1
    会 react 可以快速转 react native
    randomstream
        40
    randomstream  
       18 天前
    感觉我是不想记东西... 学习了 JS 已经记过了,react 直接用,没那么多语法糖?
    SoyaDokio
        41
    SoyaDokio  
       18 天前
    react 初学者表示,很难接受 js 里写 HTML ,就像当初难以接受 HTML 里写 java 一样...
    lijintapx
        42
    lijintapx  
       18 天前
    都学都用,也不难反正
    szdev
        43
    szdev  
       18 天前
    目前来看 react 会打乱 vue 的节奏,vue 相对比较简单发展速度目前来看远不如 react 了,react 现在全面开花,桌面端移动端 web 全搞定 ,以后的前端如果不会 react 工资会偏低一些
    zepc007
        44
    zepc007  
       17 天前
    Backend boy 表示 React 写起来很顺滑, Vue 那真就是一坨一坨的, 反正天王老子来了也是 React
    DOLLOR
        45
    DOLLOR  
       17 天前
    react 封装组件的成本很低,因为 react 组件本质就是一个返回 jsx 结构的 function 。
    换做 vue ,又是 template ,又是 script 什么的。
    有时只是一个简单的 html 结构,在 vue 还要写个 sfc ,显得有点大动干戈了,反观 react ,就地写个 function 就完事。
    所以每当有设计灵感的时候,脑中很快就出现了 react 的写法,吭哧吭哧敲出来,在不考虑性能优化的时候,非常爽快。
    LemonNoCry
        46
    LemonNoCry  
       17 天前
    @Donaldo #34 闪现跟
    murmur
        47
    murmur  
       17 天前
    @DOLLOR 《不考虑性能优化》,你有没有考虑 vue 的 template 就是 html 的翻版,你的 react 还要自己翻译 class->className
    murmur
        48
    murmur  
       17 天前
    这种简单的东西在 vue 里都没必要封装,纯粹是过度封装
    shyangs
        49
    shyangs  
       17 天前
    @murmur

    在 DOM 裡面也是 className,

    難道你學 JS 和 HTML 時沒學 DOM ?
    AchieveHF
        50
    AchieveHF  
       17 天前
    @grumpyFish 一共八个字 八字不合
    xiejay97
        51
    xiejay97  
       17 天前
    首先 vue 官方给自己的定位是渐进式框架,意味着它提供了前端开发的一条龙服务。
    react 是 js 库,可玩性很高,可以集成到任何前端框架。
    jsx 只是语法糖,编译完就是 js ,不存在 js 里写 html 。
    2024 年了,这几个框架的性能已经不需要考虑了,你写 10000 个 dom 出来,天王老子来了都不好使。主要还是个人偏好(上头喜欢啥用啥)。
    murmur
        52
    murmur  
       17 天前
    @shyangs mvvm 的作用不就是分层解耦吗,在 html 层为什么要写 className ?

    还有一点,vue 的 template 很符合语言直觉,说的就是 v-if 和 v-else 标签,这些东西在亘古的模板引擎和 jsp 里就这么用的

    谁家写 html 会写 map 和短路运算
    shyangs
        53
    shyangs  
       17 天前
    @murmur

    知道你學 JS 和 HTML 時沒學 DOM 了.
    murmur
        54
    murmur  
       17 天前
    @shyangs 为啥要学 dom ,你没学过 jquery 吗,jquery 也是 addClass 不是 addClassName
    shyangs
        55
    shyangs  
       17 天前
    @murmur

    知道你學 jQuery, 沒打基本功了. 我走過 jQuery 時代.
    tonytonychopper
        56
    tonytonychopper  
       17 天前
    React 的优势:
    tonytonychopper
        57
    tonytonychopper  
       17 天前
    React 的优势:

    1. 没有太多语法糖,适合记性不好的前端(比如我
    2. 生态完备,有很多造好的轮子
    3. 使用起来比较灵活

    Vue 的优势:

    1. 上手简单,适合初学者
    2. 大部份情况下只需要考虑怎么拆分好组件,不需要过多担心性能问题
    darkce
        58
    darkce  
       17 天前
    对我来说,React 相对于 Vue 的最大优势在于 React Native
    tonytonychopper
        59
    tonytonychopper  
       17 天前
    @tonytonychopper 如果某个框架能解决我的痛点,那即使有一些缺点我其实也能够自适应的,没有哪个框架是完美的。
    sgiyy
        60
    sgiyy  
       17 天前
    React
    1. 主要就是写 js ,写法很灵活
    2. 没那么多自造的语法糖,少记很多东西
    3. 生态更好,体现就是高质量的第三方库
    parkhaocer
        61
    parkhaocer  
       17 天前
    reat 可能外包岗少一点?
    据我所知大量外包岗的初级前端只会 vue2 就够了,别的都不用会。
    binaryify
        62
    binaryify  
       17 天前   ❤️ 1
    react 本身还好,但是周边库很蛋疼, 2024 了,它的第三方路由库还在左右横跳
    xiaojun996
        63
    xiaojun996  
       17 天前
    react 轮子多, 库多, api 少, 写起来简单
    remrin
        64
    remrin  
       17 天前
    @grumpyFish 天才
    journalistFromHK
        65
    journalistFromHK  
       17 天前 via iPhone
    不喜欢在 js 里面写标签😆
    zhengfan2016
        66
    zhengfan2016  
       17 天前 via Android
    @parkhaocer 这个真的,我投外包都是已读不回的,没有 vue 和 uniapp 工作经验都不要
    sheeta
        67
    sheeta  
       17 天前
    react 就那套在 js 里面写 html 代码的语法,新时代的 PHP
    lenglengyuchen
        68
    lenglengyuchen  
       17 天前
    @godleon react 后端一般用来干啥呀?
    PTLin
        69
    PTLin  
       17 天前
    又开始了吗?每半个月一次的 vue vs react
    jiji262
        70
    jiji262  
       17 天前
    没什么可比性吧
    jiji262
        71
    jiji262  
       17 天前
    特斯拉 vs 小米 su
    wuyiccc
        72
    wuyiccc  
       17 天前
    写 react 会让我感觉很爽,而写 vue 会让我感觉很痛苦,ps: 后端开发
    Rust2015
        73
    Rust2015  
    OP
       17 天前
    @wuyiccc 我也有这种感觉,感觉很累
    Rust2015
        74
    Rust2015  
    OP
       17 天前
    我对 JSX 的理解

    1.JSX 是组件的模板语法

    2.组件返回 JSX 结构

    3.JSX 可以嵌套组件

    4.组件可以多次复用

    JSX 与组件的关系

    1.JSX 是组件的视图层

    2.组件是 JSX 的容器

    3.两者相互依赖

    4.共同构建界面

    JSX 有:
    算术、条件、嵌入、对象、函数、增强函数、数组、样式和注释等表达式
    zhuyw2006
        75
    zhuyw2006  
       17 天前   ❤️ 1
    @wuyiccc 同感,特别看到 react hooks 函数式组件,有种亲切感
    dasbn
        76
    dasbn  
       17 天前
    vue3 混杂了太多自己的语法了,写的感觉很混乱,如何丢失响应式?如何避免丢失响应式? reactive? ref? shallowRef ? 这个设计真不行,类似的 api 让人感觉混乱,它还是最常使用的东西。
    react 写起来就很靠近纯粹的 js ,确实有些 hook 有很多细节,但相对 vue3 ,感觉好多了
    Yadomin
        77
    Yadomin  
       17 天前 via Android
    tsx 无敌
    webcape233
        78
    webcape233  
       17 天前
    是的,svelte 不错
    nuonuojump
        79
    nuonuojump  
       17 天前
    vue 简单,会 3 件套,三天就上手开项目。 我移动端部分网页都是 vue 写,一条龙。我看了下 react 我那点破项目 都用不到 react 。
    kakki
        80
    kakki  
       17 天前
    jsx 爽的飞起,前提是你有飞的能力。
    unique
        81
    unique  
       17 天前
    Vue vs React ?又见祖传掐架话题

    React 相比 Vue 的优势在哪?我用过的都说:
    1. 学习曲线像过山车 - 入门劝退,熟练后真香
    Vue 就像温柔的初恋,React 像霸道总裁...学会了 React ,Vue 分分钟就能上手
    2. 生态系统比大海还深 - npm 包数量甩 Vue 好几条街
    连 Mark 都给 React 点赞,你说这生态能差到哪去?
    3. 纯 JS 写法,没有那么多魔法
    Vue:我的魔法才是最强的!
    React:我们只写 JavaScript...纯纯的

    其实框架选择没那么重要,重要的是你对它的理解深度。就像谈恋爱,不是对象有多优秀,而是你们有多合拍 💑
    DOLLOR
        82
    DOLLOR  
       17 天前
    @murmur
    className 和 htmlFor 倒不是什么大问题,毕竟 DOM API 就是叫这个的。

    vue 通过提高封装成本来防止“过度封装”,代价是经常一个 sfc 里写了成千上万行代码,一个页面就是一个超级巨大的组件,比较伤鼠标滚轮。
    daimaosix
        83
    daimaosix  
       17 天前
    @PTLin 哈哈哈哈哈哈
    DOLLOR
        84
    DOLLOR  
       17 天前   ❤️ 1
    @unique
    angluar:我永远都会在山顶等你们
    jquery:万一你们领导突然要求兼容 IE567891011
    vanilla:还不都是拿我们封装的技术?
    bigtear
        85
    bigtear  
       17 天前
    没啥,只是 React 比较符合直觉,上手就能写
    Vue 上来一大堆概念,懒得学
    bigtear
        86
    bigtear  
       17 天前
    为啥我从后端学前端,感觉 React 比 Vue 简单非常多,就写 JS
    楼上都说 Vue 更简单??
    Danswerme
        87
    Danswerme  
       17 天前
    会 ES6 就会 React ,反之不一定会 Vue 。React 没有太多的黑魔法,不过最近 React 最近的更新感觉有点赶着人用 Next 的感觉,这点让我很不爽。
    oliveira
        88
    oliveira  
       17 天前
    @Rust2015 其实没有那么复杂,JSX 就是 JS + HTML ,HTML 最终会被编译成 React.createElement 。
    Chuckle
        89
    Chuckle  
       17 天前
    react 本身封装的东西少,根据业务需要魔改出新框架方便
    HangoX
        90
    HangoX  
       17 天前
    笑死,我用 angular ,augular 都没有讨论了
    InDown
        91
    InDown  
       17 天前   ❤️ 2
    @bigtear 因为前端是 html,css,js 开始学的,这三个中其中最简单的是 html, 对于新手来说 js 学的没那么精通,相比之下 vue 会更有亲切感,这种模板语法跟 html 很相似会更容易接受和学习, 而对于其他语言的后端来说,看到 js 就像看到自己熟悉的语言一样,无非是中间加了 render 的语法糖,而让后端在看模版语法需要接受的新知识更多,反而没有直接用 js 更舒服,也就是说一个熟练书写各种语言的开发(除 html 外的)写 react 会更简单更容易理解
    yeqizhang
        92
    yeqizhang  
       17 天前 via Android
    我觉得 jsx 实现样式简单点
    StevenRCE0
        93
    StevenRCE0  
       17 天前
    React 写的是编程语言,Vue 开发体验就像是模板奇技淫巧大杂烩,这么喜欢那个 b 标签 b 字符串我为啥不整 Svelte ?
    461229187
        94
    461229187  
       17 天前
    主业 vue ,副业 react ,一直在小厂子,vue 更好找工作
    tabc2tgacd
        95
    tabc2tgacd  
       17 天前
    我开始用过 vue2 ,但是:1 觉得他对 ts 的支持不好; 2 需要另学一套规则,离开文档感觉就没法写了,所以心智负担太重。

    后来就改用了 react:ts 的支持是真的好,写 react=写 ts ,没有心智负担。

    虽然现在据说 vue3 对 ts 的支持也很好,也支持 tsx 了。但是我毕竟不是专业前端,不太可能再转方向去 vue 了。

    最后:前后端 ts 一把梭,确实比较爽。
    flyqie
        96
    flyqie  
       17 天前 via Android
    不理解为啥会觉得 jsx 好用,我最早接触到的是 jq ,感觉 vue 这种分离式的更符合我的直觉?
    superkeke
        97
    superkeke  
       16 天前
    更灵活🐶
    hanxu317138
        98
    hanxu317138  
       16 天前
    就凭着 react 怎么升级. 都是向下兼容这一点. VUE2 就是垃圾.
    visper
        99
    visper  
       16 天前   ❤️ 1
    react:
    1. 所有都是 js,没有编译魔法,这样的话比如你知道了他每次渲染重新整个函数,就能猜出为什么 hooks 有那些规则。
    2. 因为想着每次渲染重新整个函数,所以有两个大的心智负担,一个是担心效率,要不要用 useMemo 这些。二个是 hooks 这些的时候这个函数对象还是不是原来的函数对象,也就是闭包的陷阱。
    3. 非常灵活,都是 js 嘛,函数可以随便传。所以各种高阶非常包装非常方便。不过也会造成看别人的代码可能有时候不容易看。风格相差太多。
    4. react 自己本身非常简单,就一个简单 ui 渲染库。复杂的是各种第三方,可选项非常多,可能这个 react 工程用的这些,学会了下一个工程的是另外一些,又得去学。vue 的相对都统一一点.
    vue:
    1. 需要学习一下模板语法和生命周期的概念,虽然相对 react 多点,但是也简单看着用就行。
    2. 不需要担心重复渲染的性能优化,动态绑定大多数时候写起来代码量相对 react 少一点。
    3. 心智负担主要是需要了解一下 vue2 和 vue3 的动态响应的原理,这样才会知道什么情况下为什么没响应式了。
    4. 分开的模板和代码这点,相对原来熟悉 css,html,js 开发的前端人员来说,会更眼熟一点。
    CoderLife
        100
    CoderLife  
       16 天前
    vue 给人的感觉 就是: 乱
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2916 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:41 · PVG 16:41 · LAX 00:41 · JFK 03:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.