2020 年,现在 reactjs 还是 redux + redux-saga 那一套么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yazoox
V2EX    问与答

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

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

    楼主最近在学习前端开发,学习 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 指向问题了。
    B3C933r4qRb1HyrL
        2
    B3C933r4qRb1HyrL  
       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
    u6pM63mMZ34z32cE
        12
    u6pM63mMZ34z32cE  
       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     Solana     885 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:30 PVG 06:30 LAX 15:30 JFK 18:30
    Do have faith in what you're doing.
    ubao 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