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

react 好像 vue 啊!

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

    最近学习 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
        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  
       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   ·   实用小工具   ·   1089 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:34 · PVG 07:34 · LAX 15:34 · JFK 18:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.