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

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

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

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

    29 条回复    2024-06-05 00:11:12 +08:00
    estk
        2
    estk  
       262 天前 via iPhone
    mobx-lite
    enchilada2020
        3
    enchilada2020  
       261 天前 via Android
    我穿越了…
    XCFOX
        4
    XCFOX  
       261 天前   ❤️ 1
    valtio ,类似 vue3 的 reactive ,真正的自动档状态管理。

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

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

    https://github.com/facebook/sapling/commit/547b205eab16fc78d73ec8edb38b2b2bdc84ddf2
    oliveira
        26
    oliveira  
       254 天前
    如果你熟悉 react hooks 可以试试 hostore: https://github.com/wuwenbang/hostore
    Wxh16144
        28
    Wxh16144  
       223 天前   ❤️ 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  
       197 天前 via Android
    现在从 ng 换到 react 准确说是 preact 因为有 signals 。以后所有前端状态管理的未来。用了回不去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:47 · PVG 21:47 · LAX 05:47 · JFK 08:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.