react 好像 vue 啊! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
tnt666666
V2EX    程序员

react 好像 vue 啊!

  •  
  •   tnt666666 2018-09-04 18:51:19 +08:0 10066 次点击
    这是一个创建于 2601 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近学习 react,感觉好像啊,学习成本变低了。

    82 条回复    2018-09-05 17:35:14 +08:00
    Pikaping
        1
    Pikaping  
       2018-09-04 18:52:19 +08:00   13
    你说反了
    murmur
        2
    murmur  
       2018-09-04 18:56:03 +08:00
    react 除了都是 mvvm 他哪里像 vue 了
    AllOfMe
        3
    AllOfMe  
       2018-09-04 18:56:04 +08:00
    react 可以玩出 N 种花样
    AllOfMe
        4
    AllOfMe  
       2018-09-04 18:56:30 +08:00
    单从 hello,world 的 demo 来看,感觉差距很大
    NickCarter
        5
    NickCarter  
       2018-09-04 19:01:08 +08:00 via iPhone
    vue 像 angular 1.x
    maxxxxx
        6
    maxxxxx  
       2018-09-04 19:01:31 +08:00
    钓鱼?
    achilleo
        7
    achilleo  
       2018-09-04 19:02:58 +08:00
    钓鱼可耻
    zythum
        8
    zythum  
       2018-09-04 19:04:38 +08:00   3
    金将军好像涛妹啊。
    最近关注朝鲜新闻,感觉好像啊,金将军炉石一定玩得很好。
    tnt666666
        9
    tnt666666  
    OP
       2018-09-04 19:09:17 +08:00
    @murmur
    @AllOfMe 从用户使用角度来说区别不大
    tnt666666
        10
    tnt666666  
    OP
       2018-09-04 19:09:35 +08:00
    @maxxxxx
    @achilleo 呵呵
    weixiangzhe
        11
    weixiangzhe  
       2018-09-04 19:10:58 +08:00 via iPhone
    react angular 都用过 了,上周看了 vue,感觉是写法和 angular 差不多,
    AllOfMe
        12
    AllOfMe  
       2018-09-04 19:30:00 +08:00
    @tnt666666 你这个说法听起来有点让人难受,react 和 vue 从实际用户角度来说区别也是很大的,当然要是强行类比说像,也能说的通,毕竟 react 和 Vue 都是 MVMM,而且都能支持 JSX,生命周期
    oyosc
        13
    oyosc  
       2018-09-04 19:39:08 +08:00   2
    为啥 react 跟 vue 比起来,我更喜欢 react 呢...
    ByZHkc3
        14
    ByZHkc3  
       2018-09-04 19:39:20 +08:00   1
    vue 不就是抄袭 react+ng 的么。
    楼主恐怕不知道这段历史吧
    murmur
        15
    murmur  
       2018-09-04 19:48:59 +08:00
    @ByZHkc3 react 的人给 vue 提供了部分代码和思路 上次 ng 组的跳出来抨击 vue 的已经被解聘了 你想表达什么
    ByZHkc3
        16
    ByZHkc3  
       2018-09-04 19:54:54 +08:00   2
    @murmur vue 党牛逼,还不让人抨击了,求解聘
    murmur
        17
    murmur  
       2018-09-04 20:19:18 +08:00
    @ByZHkc3 https://www.zhihu.com/question/63390665/answer/208650724
    来这里撕个够
    vue 抄 react 的不好意思没搜到
    SilentDepth
        18
    SilentDepth  
       2018-09-04 21:31:02 +08:00
    React 不能算 MVVM 吧。React 和 Vue 像,大概是因为它们都是视图层解决方案。
    CocaColf
        19
    CocaColf  
       2018-09-04 21:34:50 +08:00 via iPhone
    你这发帖和问法,感觉像是来水的
    FakeLeung
        20
    FakeLeung  
       2018-09-04 21:38:15 +08:00 via Android
    Vue 像一套完整的 mvvm 框架,没了谁貌似都不好用。
    react 是一个构建 UI 库,其实只负责 view 层,但是加上各种插件各种库,就像 mvvm 框架了。
    目前两个都用 vnode 渲染。
    KuroNekoFan
        21
    KuroNekoFan  
       2018-09-04 22:25:12 +08:00 via iPhone
    你似乎在逗我笑
    yhxx
    &nbp;   22
    yhxx  
       2018-09-04 23:19:15 +08:00   2
    这么厉害
    “借鉴”还不让人说了

    求红卫兵来解聘我
    SilentDepth
        23
    SilentDepth  
       2018-09-05 00:44:50 +08:00 via iPad
    「抄袭」事件都过去多久了,怎么还有人嚼不完,生活太闲了吗
    ggicci
        24
    ggicci  
       2018-09-05 00:47:01 +08:00
    what????
    fyibmsd
        25
    fyibmsd  
       2018-09-05 00:57:50 +08:00 via iPhone
    半点也不像啊 差着十条街
    VDimos
        26
    VDimos  
       2018-09-05 01:05:23 +08:00 via Android
    我都用了两三年的 react 了,能独立搭建开发环境,也不敢说 react 简单。你觉得简单只是因为,你只看了最基本的用法,和生产环境差太远了。vue 技术选型已经固定,而 react 你甚至还需要纠结是 mobx 还是 redux。这贴是真的像引战
    codermagefox
        27
    codermagefox  
       2018-09-05 01:06:18 +08:00 via iPhone
    吃瓜看钓鱼,煎饼果子五元一个
    releaseme
        28
    releaseme  
       2018-09-05 01:13:25 +08:00
    无脑黑 Vue 的真不少。黑还黑不到点上去
    lin
        29
    lin  
       2018-09-05 01:16:57 +08:00   1
    楼主的点是,A 和 B 像
    楼下很多网友的点是,B 抄的 A,所以只能说 B 和 A 像,不能说 A 和 B 像。
    tnt666666
        30
    tnt666666  
    OP
       2018-09-05 07:16:13 +08:00 via Android
    @VDimos 能搭建环境,那你很牛逼。
    状态管理纠结,选型多,所以你觉得难吗?程序员要有点抽象能力啊
    zhwithsweet
        31
    zhwithsweet  
       2018-09-05 07:43:49 +08:00 via iPhone
    引战能力还行啊,这么闲吗?
    kimown
        32
    kimown  
       2018-09-05 08:01:34 +08:00
    vue 的 api 设计水准,和 react 相比,很差很落后
    murmur
        33
    murmur  
       2018-09-05 08:12:41 +08:00   1
    @kimown 正好相反,vue 的 api 短小精悍,继承了 jQuery 好记好写的特点,相比 react 继承了 cocoa 系 api 命名巨长的特点 没 ide 辅助超级容易打错
    murmur
        34
    murmur  
       2018-09-05 08:16:17 +08:00
    @yhxx 让黑你得黑到点上啊
    vue 的 vdom 是直接 fork 了 snabbdom 也没抄你尊贵的 react
    plqws
        35
    plqws  
       2018-09-05 08:20:07 +08:00   2
    猩猩好像人类啊,其实这种说法没啥不对的
    xiadd
        36
    xiadd  
       2018-09-05 08:22:23 +08:00 via iPhone
    @murmur 短倒是挺短的,就是概念多了点,又是指令又是插件还有什么事件分发,这些都是内置的,相反 react 除了生命周期和 state props 还有其他的吗,当然你可以说 vue 全面. 并不是说 vue 复杂或者不好用,只是到底谁在黑呢,还尊贵的 react,看酸的
    nyaapass
        37
    nyaapass  
       2018-09-05 08:25:26 +08:00 via iPhone
    朱军,我喜欢战争
    murmur
        38
    murmur  
       2018-09-05 09:06:20 +08:00 via Android
    @xiadd 指令也要黑?
    event 你可以不用
    react 一样可以配 event-emitter
    都是 js 框架你所有学过的知识都可以用
    至于插件不就是全局的 util 么
    hasbug
        39
    hasbug  
       2018-09-05 09:09:22 +08:00   1
    找打
    owenliang
        40
    owenliang  
       2018-09-05 09:10:02 +08:00 via Android   6
    大家都是搬砖,就不要互相伤害了。
    xiadd
        41
    xiadd  
       2018-09-05 09:11:00 +08:00
    @murmur 我并不是说这些不好, 只是你说 vue 的 api 短小精悍我指出来而已, api 短小精悍不仅仅是单词长度吧. 另外指令插件这个都是 vue 内置的吧, 初学者是必学的吧? 你不能说我一碰 vue 就知道这是具体是啥. 能配和内置的还是两个概念.

    另外说话可以不用这么咄咄逼人, 让人很难有交流下去的欲望
    murmur
        42
    murmur  
       2018-09-05 09:19:22 +08:00 via Android
    @xiadd 你去学学就知道了
    小项目用 event 的学习曲线 甚至全局变量的成本远比 react 配 redux 低的多
    vue webcomponent 的实现也比 react 混写 jsx 容易的多
    论学习曲线 vue 跟 jquery 是一个级别的
    react 强在入场早社区更成熟 以及和 rn 的配合
    而不是你纠结的几个简单的不能再简单的概念
    xianxiaobo
        43
    xianxiaobo  
       2018-09-05 09:20:16 +08:00
    vue 就是继承的 angularjs,很多东西换汤不换药
    Eoston
        44
    Eoston  
       2018-09-05 09:21:49 +08:00
    我是先看了 react,然后实际用了 vue 的,最近又开始看 react,感觉比之前看思路通了许多。。。。
    allce231
        45
    allce231  
       2018-09-05 09:22:08 +08:00
    react 真的不好学 我还是继续 vue 吧
    murmur
        46
    murmur  
       2018-09-05 09:27:40 +08:00 via Android
    @xianxiaobo 作为产品来说
    你能通过一个适配器来过渡竞品是 high level
    比如国内的地图对 google 地图的宣传 都是引 js 无缝过渡
    玩弄概念只会增加学习成本
    就包括各种 react 的实现也都是 react 全套 api 设计用过来
    所以用 angular 的部分概念完全够不黑点
    sohoorc
        47
    sohoorc  
       2018-09-05 09:29:11 +08:00
    钓鱼啊
    xianxiaobo
        48
    xianxiaobo  
       2018-09-05 09:34:52 +08:00
    @murmur 不是黑,是事实,我也没说 vue 不好,是比新的 angular 学习成本低,很多 angularjs 都转 vue 了,而不是 angular
    xilixjd
        49
    xilixjd  
       2018-09-05 09:39:16 +08:00
    @murmur
    @AllOfMe
    没双向绑定也叫 mvvm ?了解一下什么是 mvvm 再说吧
    leemove
        50
    leemove  
       2018-09-05 09:41:36 +08:00
    三者都写过...说 vue 和 angular 像的我也就不说啥了,还有说跟 angularJs 像的我是真服气了.钓鱼贴最终只能掉到愚.
    murmur
        51
    murmur  
       2018-09-05 09:45:00 +08:00 via Android
    @xilixjd 叫啊
    只不过 vue 是官方语法糖双绑 react 要自己实现
    xianxiaobo
        52
    xianxiaobo  
       2018-09-05 09:48:30 +08:00
    @leemove vue 最像的绝对是 angularjs,本来就参考了很多 angularjs 的代码。你可能没用过 angularjs?
    sohoorc
        53
    sohoorc  
       2018-09-05 09:50:04 +08:00
    @xianxiaobo 对 搞过 angularjs 后玩 vue 和小程序感觉两小时入门 0.0
    AllOfMe
        54
    AllOfMe  
       2018-09-05 09:54:55 +08:00 via Android
    @xilixjd 双向绑定实现不了?单从 react 而言,你不用 redux 都能自己实现双向绑定。我感觉是你不懂 mvmm 多一点,不要随便 judge,谢谢
    AllOfMe
        55
    AllOfMe  
       2018-09-05 09:55:30 +08:00 via Android
    @xilixjd 打错字,请忽略,mvvm
    xilixjd
        56
    xilixjd  
       2018-09-05 10:11:11 +08:00
    @AllOfMe
    哈哈实现双向绑定,本身就是双向绑定的框架需要“实现”吗
    你什么时候听过 vue 实现双向绑定
    何况你真的觉得 setstate 那种也叫双向绑定?
    this.state.x = 'y',x 在视图页面上也自动更新这种才叫双向绑定,而不是 setstate 重新走一遍 update 虚拟 dom

    我是刚搜到 react 双向绑定才得知的,如果你的双向绑定不是 setState 可以教教我怎么实现
    xilixjd
        57
    xilixjd  
       2018-09-05 10:27:47 +08:00
    @murmur 双向绑定是语法糖?
    我随手搜了一篇文章 https://segmentfault.com/a/1190000011225943
    里面提到 mvvm 框架常用实现方法有
    1.发布-订阅模式
    2.脏值检测
    vue 是发布-订阅模式
    你觉得 react 是这两者之一吗,你还觉得 react 能实现双向绑定吗
    dany813
        58
    dany813  
       2018-09-05 10:33:58 +08:00
    啊,五环,你比六环多一环
    AllOfMe
        59
    AllOfMe  
       2018-09-05 10:34:42 +08:00   2
    @xilixjd
    1, vue 的 this.state.x = 'y' 和 react 的 this.setState 都可以触发 UI 更新,只是 vue 用了 getter/setter 在使用上更方便,我不明白你对这个 this.setState 有什么歧义
    2, this.setState 重新走一遍虚拟 DOM,你是不是不知道 React 在 render 时候能根据 props 是否一样,来判断是否需要 update ?如果你想控制渲染更细腻,完全可以在 SCU 里面去控制渲染。走一遍虚拟 DOM 我认为没什么,如果你觉得是性能问题,那么先考虑一下是不是自己 Component 组合和 Props 的传递方式有问题,这还没用到 redux 的 connect 方法来控制 props 渲染呢。
    3, “刚刚去搜了一下 react 的双向绑定”,我希望你是用过 react,并且实际开发过几个项目,对 react 有一定了解了才在这里高山阔论,否则你一知半解都不知道你自己在讲什么,这很可怕。
    4, “你听说过本身就是 mvvm 的框架需要实现吗?”,我不明白,简单来说,this.setState+props+onChange 的方式就可以做好一个 APP 的整体数据控制,只是麻烦一点而已,我说的实现就是实现的意思,你不借助 redux/mobx 当然都 OK,不明白你的意思?
    5, “除了 this.setState 还有没有其他方式?” 你自己写几个 function,做监听,处理 dispatch,需要更新了就重新 ReactDOM.render()渲染一下传递一下新的 store,这个很难吗?还是说以你的水平,就喜欢 vue 的自动追踪绑定,最好自己一点 function 都不实现,一点处理代码都不写,简简单单的 this.state.x = 'y'就很好了,那这样我觉得也无所谓,你喜欢就好

    另外,ReactDOM.render 没有性能问题,我怕你一会又要扯什么性能问题,优雅问题。不,这只是开发者的水平问题而已。
    vincenteof
        60
    vincenteof  
       2018-09-05 10:42:10 +08:00   1
    @xilixjd 你的逻辑很奇怪,你先定了一个前提: `实现双向绑定有两种方式`,然后因为在 react 里实现双向绑定不是这两种方式, 最后得出了react 不能实现双向绑定的结论。双向绑定难道不只是一个结果么,怎么实现很重要,你说的方式相比于 react 的方式有很大的优越之处吗?
    pecopeco
        61
    pecopeco  
       2018-09-05 10:43:03 +08:00
    都安静一下,PHP 是最好的语言
    xilixjd
        62
    xilixjd  
       2018-09-05 11:06:05 +08:00
    @AllOfMe
    @vincenteof

    如果你们坚持 react 是 mvvm 框架,react 的 setState 也是实现双向绑定一种形式
    那我只能祝你们好运了
    kefengong
        63
    kefengong  
       2018-09-05 11:16:40 +08:00 via Android   2
    怕不是把 双向数据流 和双向绑定混淆了
    dbpe
        64
    dbpe  
       2018-09-05 11:40:55 +08:00
    菜鸡不敢说话..不过从众多大神来观点来看..react 设计更优雅 适合大项目
    vue 适合小项目
    auroraccc
        65
    auroraccc  
       2018-09-05 12:00:09 +08:00
    可能是你在学 vue 中的过程中渐渐熟悉了 es6+吧, 库上的语法和思想差距并没有想象中的那么大
    ShareDuck
        66
    ShareDuck  
       2018-09-05 12:14:15 +08:00 via Android
    @codermagefox 老板!来一打煎饼果子!
    zhuangzhuang1988
        67
    zhuangzhuang1988  
       2018-09-05 12:30:19 +08:00   1
    父亲长得好像儿子啊!
    1842223254
        68
    1842223254  
       2018-09-05 12:30:27 +08:00 via Android
    react 是一种思想
    feverzsj
        69
    feverzsj  
       2018-09-05 12:32:02 +08:00
    抄袭在前端娱乐圈是很正常的
    javascr1pt
        70
    javascr1pt  
       2018-09-05 13:16:32 +08:00
    别撕了,大家都是打工的都不容易...
    66beta
        71
    66beta  
       2018-09-05 13:25:11 +08:00 via Android
    vue 是一套解决方案
    react 是...嗯...引战工具
    veightz
        72
    veightz  
       2018-09-05 13:30:32 +08:00 via Android
    引战的气息。。
    incheon
        73
    incheon  
       2018-09-05 13:32:04 +08:00
    这帖子可以 唰唰的来金币
    AllOfMe
        74
    AllOfMe  
       2018-09-05 13:53:38 +08:00
    @xilixjd 去深入学习一下 react,你就不会纠结这些概念了,脱离了实际谈概念,争论下去是没有任何意义的
    youxiachai
        75
    youxiachai  
       2018-09-05 14:20:09 +08:00
    又是钓鱼贴...
    mauve
        76
    mauve  
    PRO
       2018-09-05 15:08:27 +08:00 via Android
    Angular 天下第一!
    Creabine
        77
    Creabine  
       2018-09-05 15:25:36 +08:00
    楼主:如何一句话让 V2er 撕起来
    specita
        78
    specita  
       2018-09-05 15:32:29 +08:00
    这钓鱼也太明显了...
    zifuir
        79
    zifuir  
       2018-09-05 15:46:37 +08:00 via iPhone
    这种贴还是不要发了,除非口水用不完
    MushishiXian
        80
    MushishiXian  
       2018-09-05 16:23:58 +08:00
    能不能别钓鱼....
    lvming6816077
        81
    lvming6816077  
       2018-09-05 16:29:09 +08:00
    vue 项 angular1.x
    xFrye
        82
    xFrye  
       2018-09-05 17:35:14 +08:00
    搬凳子看戏
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2614 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 15:00 PVG 23:00 LAX 08:00 JFK 11:00
    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