V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
devcat9
V2EX  ›  React

2022 年,推荐的 React 状态管理框架是?

  •  1
     
  •   devcat9 · 151 天前 · 6068 次点击
    这是一个创建于 151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好久没做前端了,最近看看了 React 前端状态管理,感觉依旧很难选择。

    Redux 这类框架感觉写起来实在是太累。

    Mobx 之前很看好,但是现在似乎也没什么人气了。

    https://openbase.com/categories/js/best-react-state-management-libraries 这里提到了 xstate 和一些其他的新库,但是都感觉各有千秋吧。

    不知道大家在 2022 年更推荐什么?

    64 条回复    2022-03-15 15:46:25 +08:00
    gouflv
        1
    gouflv  
       151 天前   ❤️ 2
    在关注 zustand 和 recoil
    CodingNaux
        2
    CodingNaux  
       151 天前
    没做 web app,所以用的都是 context + hook
    maichael
        3
    maichael  
       151 天前
    SWR+Recoil
    Chism
        4
    Chism  
       151 天前
    这个跟用 class 还是 function 组件也有关吧
    me221
        5
    me221  
       151 天前
    recoil
    dany813
        6
    dany813  
       151 天前
    还是 redux 习惯了,加上 context
    sweetcola
        7
    sweetcola  
       151 天前
    目前还是 Redux ,配合 reduxjs/toolkit 能减少一些代码量。

    Recoil 还是等正式版出来后才再去考虑是否能替换 Redux 。
    lokya
        8
    lokya  
       151 天前
    看需求吧 我们现在还在用 dva 但是 纯 context 也蛮好用的,recoil 有了解过那会还没发正式版 ,就没用
    ospider
        9
    ospider  
       151 天前
    useSWR + useReducer
    xff1874
        10
    xff1874  
       151 天前
    jotai 吧,简单一点。
    ericgui
        11
    ericgui  
       151 天前
    你用习惯了 redux ,其实挺好用的
    Immortal
        12
    Immortal  
       151 天前
    在用 rematch,关注 recoil
    fengfuliu
        13
    fengfuliu  
       151 天前
    TWorldIsNButThis
        14
    TWorldIsNButThis  
       151 天前
    @ospider
    @maichael
    老哥们能否帮忙看下 swr 的这个问题 感谢
    https://www.v2ex.com/t/839773
    wuchangming89
        15
    wuchangming89  
       151 天前
    一直 MobX ,双向绑定简简单单,不花里胡哨
    SolidZORO
        16
    SolidZORO  
       151 天前 via iPhone
    jotai + react-query.
    duduaba
        17
    duduaba  
       151 天前
    mobx 吧,语法简练易懂,主要是快。
    bnrwnjyw
        18
    bnrwnjyw  
       151 天前
    {}
    creanme
        19
    creanme  
       151 天前
    要不试试 jotai ?
    L1shen
        20
    L1shen  
       151 天前
    喜欢 mobx 的也可以试试 valtio, 跟 jotai 同一个组织写的
    cloudzqy
        21
    cloudzqy  
       151 天前
    现在写的业务都太简单了,我都是 hook 直接撸了,唉。
    dartabe
        22
    dartabe  
       151 天前
    Redux toolkit 别整那些花里胡哨的
    WhiteHu
        23
    WhiteHu  
       151 天前
    @maichael 正解 我们封装了一套 现在用的很爽
    liuzhaowei55
        24
    liuzhaowei55  
       151 天前 via iPhone
    mobx react lite 加上 mobx state tree 挺好用的
    kingsleydon
        25
    kingsleydon  
       151 天前
    react-query + jotai
    dcsuibian
        26
    dcsuibian  
       151 天前   ❤️ 1
    师傅多了房子歪
    newbieRenew
        27
    newbieRenew  
       151 天前
    @me221
    @maichael

    粗略看了下文档,Atom 可以写在任意组件类,优点是灵活,缺点是不是太灵活?你们使用时有约束吗
    westoy
        28
    westoy  
       151 天前
    怎么生成一个随机字符窜?

    十几年前: 随机读取一个 perl 文件

    现在: 问拿什么做 react 的状态管理后随机抽取一个答案
    sjhhjx0122
        29
    sjhhjx0122  
       151 天前   ❤️ 1
    其实都挺累的 jotai ,valtio ,zustand ,recoil 这些 hook 时代的新状态管理库,用各种 hook 包来包去,而且你敢信吗,前面三个还是一个组织下的,如果没有性能需求 context 直接封装一下就够用了,封装着封装着就变成了一个新的状态管理库,kpi 到手,公司也离不开你了,如果不嫌麻烦 rxjs 自己封装一下我觉得不错
    Removable
        30
    Removable  
       151 天前   ❤️ 1
    后端选手自学 react ,用的是 recoil
    c1273082756
        31
    c1273082756  
       151 天前
    dva?
    RogerL
        32
    RogerL  
       151 天前
    zustand, jotai, valtio
    rioshikelong121
        33
    rioshikelong121  
       151 天前
    我记得有个 github 仓库列出了几十个状态管理库,谁能把那个库贴出来.
    dasbn
        34
    dasbn  
       151 天前
    rioshikelong121
        35
    rioshikelong121  
       151 天前
    @dasbn 我记得有个内容更多的仓库.不是这个
    me221
        36
    me221  
       151 天前
    @Removable +1, recoil 一看就会, 什么 redux mobx 一脸懵逼
    mwVYYA6
        37
    mwVYYA6  
       151 天前
    最近试了 recoil ,可以比 context api 少写一点代码
    um1ng
        38
    um1ng  
       150 天前
    其实 vue3 的状态管理 pinia 还是挺好用的
    f360family123
        39
    f360family123  
       150 天前
    react-query
    charlie21
        40
    charlie21  
       150 天前
    一般思路是 UI state 和 server cache 分开 参考 https://kentcdodds.com/blog/application-state-management-with-react
    server cache 的状态交给 react-query , UI state 直接 context 。 如果要加入额外的层 用 redux
    justin2018
        41
    justin2018  
       150 天前
    不知道选用哪个了 随机一下 😁

    https://risingstars.js.org/2021/en#section-statemanagement
    w88975
        42
    w88975  
       150 天前
    mobx 是我用过最纯的
    zhwithsweet
        44
    zhwithsweet  
       150 天前
    不怕麻烦的话,可以用 @vue/reactivity ,整活
    wobuhuicode
        45
    wobuhuicode  
       150 天前
    和当年一样,用 redux
    vision1900
        46
    vision1900  
       150 天前 via Android
    Mobx 挺好,只是 React 现在 All In 函数式编程了,两者结合就很奇怪
    Cbdy
        47
    Cbdy  
       150 天前
    Jotai
    dany813
        48
    dany813  
       150 天前
    @f360family123 这个是管理 http 接口的吧
    f360family123
        49
    f360family123  
       150 天前
    @dany813 是的,但是一般应用场景下数据都是从接口拿到的。只要管理接口的数据就可以了,剩下的用 Context
    isbase
        50
    isbase  
       150 天前
    久经考验的还是 redux + hooks ,小点的项目自己封装一些 hooks 配合 context 够用了。

    重量级项目可以上 redux ,其他的不推荐
    posebear1990
        51
    posebear1990  
       150 天前
    贴一篇旧文: [You Might Not Need Redux]( https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367)
    agdhole
        52
    agdhole  
       150 天前
    Recoil 很好用
    alexmy
        53
    alexmy  
       150 天前
    hooks + mobx ,一般习惯了就先不换了吧,前端变化那么快,真心赶不上。何况,我是做后端的。
    poplar50
        54
    poplar50  
       150 天前 via Android
    tanstack
    shaodeyu1943
        55
    shaodeyu1943  
       150 天前
    @ospider 老哥,看你一直安利这个。
    XTTX
        56
    XTTX  
       150 天前
    写习惯了 dispatch reducer 的话,zustand 上手是很快的。自带的 persist localstorage 也很舒服。 再加上 immer 去改 nested object,我觉得比 redux,useContext 什么的舒服很多。
    rannnn
        57
    rannnn  
       150 天前
    上 GraphQL 用 Apollo 或者 Relay , 剩下的情况 context 就可以搞定
    fuermosi777
        58
    fuermosi777  
       150 天前
    前端变化好快,以前用 mobx 很顺手,时隔几年不写前端,再看已经百花齐放了。
    kensoz
        59
    kensoz  
       150 天前
    recoil
    Torpedo
        60
    Torpedo  
       150 天前
    redux 挺好的。可以各种自己定制
    iamvvv
        61
    iamvvv  
       150 天前
    dva 很舒服
    yazoox
        62
    yazoox  
       150 天前
    还是在用 redux + redux-saga
    ......
    zishaofei221
        63
    zishaofei221  
       150 天前
    小的 hooks
    大的 concentjs
    undermoodzyx
        64
    undermoodzyx  
       150 天前
    dva 加 model 工厂模式,嗯,好吃
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4284 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 08:52 · PVG 16:52 · LAX 01:52 · JFK 04:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.