devcat9
V2EX  ›  React

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

  •  1
     
  •   devcat9 · Mar 14, 2022 · 12015 views
    This topic created in 1695 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

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

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

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