V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yazoox
V2EX  ›  问与答

2020 年,现在 reactjs 还是 redux + redux-saga 那一套么?

  •  
  •   yazoox · 2020-04-29 09:09:04 +08:00 · 5386 次点击
    这是一个创建于 1429 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主最近在学习前端开发,学习 reactjs 。暂时的初步理解是,基本上使用 redux 来管理数据和数据共享(组件之间),以前使用 redux-saga,来异步存 /取数据。

    但是,看到一种说法,hooks 出来后,现在“流行”或者“推荐”使用 hooks 了。

    楼主还没有详细学习过 hooks 不是很懂。来问问大家。

    谢谢!

    30 条回复    2020-05-29 12:32:58 +08:00
    xinxing260
        1
    xinxing260  
       2020-04-29 09:18:14 +08:00
    非前端开发业余时间玩过一会 hooks,个人理解这个东西和数据流管理是两码事,之前组件用 class 来写,hooks 用 function 来写。性能更优,也不需要操心 this 指向问题了。
    cuvii
        2
    cuvii  
       2020-04-29 09:20:21 +08:00
    楼上说的对,hooks 不是解决状态管理的。
    但是 hooks 提供了 useReducer 和 useContext 可以用来管理状态。
    推荐一篇不错的 hooks 教程: https://wattenberger.com/blog/react-hooks
    LiuJiang
        3
    LiuJiang  
       2020-04-29 09:27:17 +08:00
    早就不用 Redux 了
    dilu
        4
    dilu  
       2020-04-29 09:31:31 +08:00
    感觉前端娱乐圈真不是白叫的,真的是一年一个技术栈啊(手动狗头)
    sayakafs
        5
    sayakafs  
       2020-04-29 09:33:41 +08:00 via iPhone
    context+hooks+reducer
    yazoox
        6
    yazoox  
    OP
       2020-04-29 09:36:03 +08:00
    @LiuJiang
    兄弟,能多分享一些么?不用 redux,那怎么管理组件之间的数据共享问题?
    如果每个组件都自己直接调用函数存 /取数据,这不又回到以前相互 couple 了么?
    thx.
    fxy739371
        7
    fxy739371  
       2020-04-29 09:38:10 +08:00
    用 ematch,还有 hooks 和 redux 不是一个东西
    kwoktung
        8
    kwoktung  
       2020-04-29 09:43:09 +08:00 via Android
    mobx
    fxy739371
        9
    fxy739371  
       2020-04-29 09:56:19 +08:00
    rematch
    bnm965321
        10
    bnm965321  
       2020-04-29 09:57:33 +08:00
    swr
    shuizhengqi
        11
    shuizhengqi  
       2020-04-29 10:16:23 +08:00
    antd pro 全家桶,美滋滋 react umijs dvajs
    mebtte
        12
    mebtte  
       2020-04-29 10:17:53 +08:00
    hook 和 redux 不是同一个概念, 没有办法比较
    abc635073826
        13
    abc635073826  
       2020-04-29 10:23:29 +08:00
    mobx,谁用谁香,门槛极低
    ZZITE
        14
    ZZITE  
       2020-04-29 10:34:37 +08:00
    之前在一个小项目用了 swr + context + hooks 的方式
    ironMan1995
        15
    ironMan1995  
       2020-04-29 11:59:45 +08:00 via Android
    没看到论坛里面提 mobx
    jingcoco
        16
    jingcoco  
       2020-04-29 12:13:48 +08:00 via Android
    graphql 可以了解一下。。。。说是可以用来替代 redux,不过 redux 主要贡献者现在在 facebook 上班。。。
    dcatfly
        17
    dcatfly  
       2020-04-29 12:14:35 +08:00
    redux 推荐`@reduxjs/toolkit`,一般的业务都用不上 saga 那么细粒度的异步控制。
    此外可以使用 hooks 管理数据流,但 hooks 本身跟数据流没有太大关系,hooks 的诞生也不是为了解决数据流问题的。另外如果项目比较大,考虑到性能之类的,还是需要缓存,不可变,reselect 之类的,最终又走到了 redux 老路上来。
    ccraohng
        18
    ccraohng  
       2020-04-29 12:20:59 +08:00 via Android
    hooks 跟 redux 就是不同东西吧。
    你说的是请求方法+hooks , 然后封装成内部 state ?那打扰了。
    itning
        19
    itning  
       2020-04-29 13:38:45 +08:00 via Android
    有个疑问,第三方 npm 包不更新了,项目怎么办?
    finely
        20
    finely  
       2020-04-29 13:54:15 +08:00
    楼主:react 还是那一套吗?

    回复:五六七八套 我的了解一下 这个最好用

    前端圈真乱。。。
    yazoox
        21
    yazoox  
    OP
       2020-04-29 14:04:07 +08:00
    @finely 嗯,是真的乱。
    但没有办法,得学啊..... (要恰饭)
    zpm683
        22
    zpm683  
       2020-04-29 15:44:10 +08:00
    看需求,我们反正还再用。
    Maxbee
        23
    Maxbee  
       2020-04-29 17:23:26 +08:00
    确实,mobx 用起来比 redux 方便很多
    JayLin1011
        24
    JayLin1011  
       2020-04-29 17:31:29 +08:00
    我入門跟你差不多是 redux + react-redux + redux-thunk + redex-saga,現在是看 dva,把這些封裝的挺好的,語法接近 vuex 。
    yazoox
        25
    yazoox  
    OP
       2020-04-29 18:23:36 +08:00
    @JayLin1011 vuex 是 vue.js 那一套么?

    头晕......
    zhw2590582
        26
    zhw2590582  
       2020-04-30 07:43:13 +08:00 via iPhone
    学 redux 真是浪费时间,理念是好,但执行太繁琐
    yazoox
        27
    yazoox  
    OP
       2020-04-30 10:19:21 +08:00
    @zhw2590582
    “浪费时间”?啥意思?
    你是说,现在前端,已经不用这个了?有更好的了?
    zhw2590582
        28
    zhw2590582  
       2020-04-30 11:18:37 +08:00
    @yazoox mobx
    shuding
        29
    shuding  
       2020-05-01 23:03:03 +08:00
    没必要 redux/redux-saga,直接用 hooks 管理状态更便利: https://github.com/zeit/swr
    aaronlam
        30
    aaronlam  
       2020-05-29 12:32:58 +08:00
    hooks 是编写组件的方式,redux 是解决组件间共享状态的问题
    而且现在为了方便都会用封装后的 dva 或者 mobx 做状态管理了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1175 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:06 · PVG 07:06 · LAX 16:06 · JFK 19:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.