V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
yazoox
V2EX  ›  问与答

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

  •  
  •   yazoox · Apr 29, 2020 · 6223 views
    This topic created in 2192 days ago, the information mentioned may be changed or developed.

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

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

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

    谢谢!

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

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

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

    头晕......
    zhw2590582
        26
    zhw2590582  
       Apr 30, 2020 via iPhone
    学 redux 真是浪费时间,理念是好,但执行太繁琐
    yazoox
        27
    yazoox  
    OP
       Apr 30, 2020
    @zhw2590582
    “浪费时间”?啥意思?
    你是说,现在前端,已经不用这个了?有更好的了?
    zhw2590582
        28
    zhw2590582  
       Apr 30, 2020
    @yazoox mobx
    shuding
        29
    shuding  
       May 1, 2020
    没必要 redux/redux-saga,直接用 hooks 管理状态更便利: https://github.com/zeit/swr
    aaronlam
        30
    aaronlam  
       May 29, 2020
    hooks 是编写组件的方式,redux 是解决组件间共享状态的问题
    而且现在为了方便都会用封装后的 dva 或者 mobx 做状态管理了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2506 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 602ms · UTC 15:38 · PVG 23:38 · LAX 08:38 · JFK 11:38
    ♥ Do have faith in what you're doing.