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

react 相对于 vue 优秀在那里!

  •  
  •   Rust2015 · 3 天前 · 6943 次点击

    为什么大家都对 react 很推崇

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

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


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

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

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

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

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

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

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

    在 DOM 裡面也是 className,

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

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

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

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

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

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

    Vue 的优势:

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

    1.JSX 是组件的模板语法

    2.组件返回 JSX 结构

    3.JSX 可以嵌套组件

    4.组件可以多次复用

    JSX 与组件的关系

    1.JSX 是组件的视图层

    2.组件是 JSX 的容器

    3.两者相互依赖

    4.共同构建界面

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

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

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

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

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

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

    最后:前后端 ts 一把梭,确实比较爽。
    flyqie
        96
    flyqie  
       2 天前 via Android
    不理解为啥会觉得 jsx 好用,我最早接触到的是 jq ,感觉 vue 这种分离式的更符合我的直觉?
    superkeke
        97
    superkeke  
       1 天前
    更灵活🐶
    hanxu317138
        98
    hanxu317138  
       1 天前
    就凭着 react 怎么升级. 都是向下兼容这一点. VUE2 就是垃圾.
    visper
        99
    visper  
       1 天前   ❤️ 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  
       1 天前
    vue 给人的感觉 就是: 乱
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1032 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:59 · PVG 03:59 · LAX 11:59 · JFK 14:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.