兄弟们, React 状态管理库推荐哪个呢? zustand, mobx, jotai, redux? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
inSpring
V2EX    React

兄弟们, React 状态管理库推荐哪个呢? zustand, mobx, jotai, redux?

  •  
  •   inSpring 2024-04-01 21:35:21 +08:00 6521 次点击
    这是一个创建于 632 天前的主题,其中的信息可能已经有所发展或是发生改变。

    花了大半天时间,选择困难症,选哪个好呢?

    29 条回复    2024-06-05 00:11:12 +08:00
    estk
        2
    estk  
       2024-04-01 21:47:41 +08:00 via iPhone
    mobx-lite
    KMpAn8Obw1QhPoEP
        3
    KMpAn8Obw1QhPoEP  
       2024-04-01 21:48:15 +08:00 via Android
    我穿越了…
    XCFOX
        4
    XCFOX  
       2024-04-01 21:51:40 +08:00   1
    valtio ,类似 vue3 的 reactive ,真正的自动档状态管理。

    https://github.com/pmndrs/valtio
    K120
        5
    K120  
       2024-04-01 22:06:16 +08:00
    React 的状态库真的是层出不穷,一起卷
    jackge0323
        6
    jackge0323  
       2024-04-01 22:09:00 +08:00
    context
    donaldturinglee
        7
    donaldturinglee  
       2024-04-01 22:13:15 +08:00
    zustand 或者就 RTK
    gap
        8
    gap  
       2024-04-01 22:29:14 +08:00
    react query
    Philippa
        9
    Philippa  
       2024-04-01 22:31:01 +08:00
    我之前用 jotai
    iOCZS
        10
    iOCZS  
       2024-04-01 22:31:44 +08:00   1
    redux toolkit
    ryHope
        11
    ryHope  
       2024-04-01 22:38:05 +08:00
    zustand
    Removable
        12
    Removable  
       2024-04-01 22:51:41 +08:00 via iPhone
    个人用 jotai ,简单方便
    kid740246048
        13
    kid740246048  
       2024-04-02 00:24:04 +08:00   1
    zustand 或者 jotai 吧,取决于你是不是需要在组件外操作状态,需要的话选 zustand ,否则 jotai
    BwNVlwSq
        14
    BwNVlwSq  
       2024-04-02 00:27:15 +08:00
    zustand+1
    lee88688
        15
    lee88688  
       2024-04-02 09:13:18 +08:00
    @kid740246048 jotai 也是可以在组件外操作状态的,使用默认的 store 或者自己创建 store 就行。
    ruoxie
        16
    ruoxie  
       2024-04-02 09:15:50 +08:00 via Android
    redux 不配
    lstz
        17
    lstz  
       2024-04-02 09:22:31 +08:00 via Android
    redux 现在很好用了,跟以前不一样了
    gloye
        18
    gloye  
       2024-04-02 09:55:02 +08:00
    如果是 redux 时代过来的,就 redux-toolkit ,否则就 zustand
    zzlove
        19
    zzlove  
       2024-04-02 10:06:35 +08:00
    https://github.com/evolify/tiny
    试试这个,用起来很简单
    AyaseEri
        20
    AyaseEri  
       2024-04-02 10:20:46 +08:00
    OOP 选 mobx ,FP 选 Jotai 。剩下两个不了解。
    bearboss
        21
    bearboss  
       2024-04-02 11:07:04 +08:00
    用了 zustand 后来加上 react query 维护了远程状态 发现没啥本地状态需要管理的 用 context 都行
    iOCZS
        22
    iOCZS  
       2024-04-02 11:47:01 +08:00
    不过 redux toolkit 的学习成本和集成度都挺高的
    shunia
        23
    shunia  
       2024-04-02 14:18:15 +08:00   1
    context 足够使用,绝大部分情况下不缺那点性能。而且三方库往往心智负担更大,等于是你在一个心智负担最小的框架里,硬塞一个心智负担拉满的库。如非必要,勿增实体,我觉得可以部分用在这里。

    如果你实在要用,个人推荐一个小众的 https://github.com/xoidlabs/xoid
    我觉得各种库没有本质区别,基本上就是看语法喜好而已。
    Imindzzz
        24
    Imindzzz  
       2024-04-02 14:54:07 +08:00 via Android
    createContext useContext
    wu67
        25
    wu67  
       2024-04-02 14:59:21 +08:00
    本来我想说 recoil 的, 这是我在 react 生态用过最好的状态库. 但是上去一艘, 好家伙, 一年多没更新了, 然后发现脸书他们自己的项目以来也跑路去 jotal 了, 我只能说裁员好死....

    https://github.com/facebook/sapling/commit/547b205eab16fc78d73ec8edb38b2b2bdc84ddf2
    oliveira
        26
    oliveira  
       2024-04-09 11:19:20 +08:00
    如果你熟悉 react hooks 可以试试 hostore: https://github.com/wuwenbang/hostore
    mrwangjustsay
        27
    mrwangjustsay  
       2024-04-24 18:18:08 +08:00
    Wxh16144
        28
    Wxh16144  
       2024-05-10 15:07:44 +08:00   1
    没有最好,只有适合自己的,分享一下蚂蚁设计师闻冰的 zustand 实践吧,我看了他的几个项目颇有收获

    1. 为什么是 Zustand https://zhuanlan.zhihu.com/p/591981209
    2. 基于 Zustand 的渐进式状态管理实践 https://zhuanlan.zhihu.com/p/592383756

    然后去看这位设计工程师的代码组织

    1. https://github.com/ant-design/pro-editor
    2. https://github.com/ant-design/pro-flow
    3. https://github.com/lobehub/lobe-chat/tree/main/src/store
    himeson
        29
    himeson  
       2024-06-05 00:11:12 +08:00 via Android
    现在从 ng 换到 react 准确说是 preact 因为有 signals 。以后所有前端状态管理的未来。用了回不去
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2942 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:45 PVG 21:45 LAX 05:45 JFK 08:45
    Do have faith in what you're doing.
    ubao msn 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