好久没做前端了,最近看看了 React 前端状态管理,感觉依旧很难选择。
Redux 这类框架感觉写起来实在是太累。
Mobx 之前很看好,但是现在似乎也没什么人气了。
https://openbase.com/categories/js/best-react-state-management-libraries 这里提到了 xstate 和一些其他的新库,但是都感觉各有千秋吧。
不知道大家在 2022 年更推荐什么?
|  |      1gouflv      2022-03-14 13:00:09 +08:00  2 在关注 zustand 和 recoil | 
|      2CodingNaux      2022-03-14 13:15:17 +08:00 没做 web app,所以用的都是 context + hook | 
|  |      3maichael      2022-03-14 13:32:02 +08:00 SWR+Recoil | 
|  |      4Chism      2022-03-14 13:32:03 +08:00 这个跟用 class 还是 function 组件也有关吧 | 
|      5me221      2022-03-14 13:33:31 +08:00 recoil | 
|  |      6dany813      2022-03-14 13:33:41 +08:00 还是 redux 习惯了,加上 context | 
|  |      7sweetcola      2022-03-14 13:36:51 +08:00 目前还是 Redux ,配合 reduxjs/toolkit 能减少一些代码量。 Recoil 还是等正式版出来后才再去考虑是否能替换 Redux 。 | 
|      8lokya      2022-03-14 13:38:13 +08:00 看需求吧  我们现在还在用 dva  但是 纯 context 也蛮好用的,recoil 有了解过那会还没发正式版 ,就没用 | 
|  |      94BVL25L90W260T9U      2022-03-14 13:54:20 +08:00 useSWR + useReducer | 
|  |      10xff1874      2022-03-14 13:58:10 +08:00 jotai 吧,简单一点。 | 
|  |      11ericgui      2022-03-14 14:00:51 +08:00 你用习惯了 redux ,其实挺好用的 | 
|  |      12Immortal      2022-03-14 14:02:05 +08:00 在用 rematch,关注 recoil | 
|      13fengfuliu      2022-03-14 14:04:03 +08:00 | 
|      14TWorldIsNButThis      2022-03-14 14:10:14 +08:00 | 
|  |      15wuchangming89      2022-03-14 14:13:45 +08:00 一直 MobX ,双向绑定简简单单,不花里胡哨 | 
|  |      16SolidZORO      2022-03-14 14:17:56 +08:00 via iPhone jotai + react-query. | 
|  |      17duduaba      2022-03-14 14:19:19 +08:00 mobx 吧,语法简练易懂,主要是快。 | 
|  |      18bnrwnjyw      2022-03-14 14:31:22 +08:00 {} | 
|  |      19creanme      2022-03-14 14:36:44 +08:00 要不试试 jotai ? | 
|  |      20L1shen      2022-03-14 14:39:28 +08:00 喜欢 mobx 的也可以试试 valtio, 跟 jotai 同一个组织写的 | 
|  |      21cloudzqy      2022-03-14 14:45:59 +08:00 现在写的业务都太简单了,我都是 hook 直接撸了,唉。 | 
|  |      22dartabe      2022-03-14 14:57:51 +08:00 Redux toolkit  别整那些花里胡哨的 | 
|  |      24liuzhaowei55      2022-03-14 15:31:58 +08:00 via iPhone mobx react lite 加上 mobx state tree 挺好用的 | 
|  |      25kingsleydon      2022-03-14 15:33:11 +08:00 react-query + jotai | 
|      26dcsuibian      2022-03-14 15:36:10 +08:00  1 师傅多了房子歪 | 
|      27newbieRenew      2022-03-14 15:37:13 +08:00 | 
|  |      28westoy      2022-03-14 15:38:49 +08:00  1 怎么生成一个随机字符窜? 十几年前: 随机读取一个 perl 文件 现在: 问拿什么做 react 的状态管理后随机抽取一个答案 | 
|  |      29linkopeneyes      2022-03-14 15:44:08 +08:00  2 其实都挺累的 jotai ,valtio ,zustand ,recoil 这些 hook 时代的新状态管理库,用各种 hook 包来包去,而且你敢信吗,前面三个还是一个组织下的,如果没有性能需求 context 直接封装一下就够用了,封装着封装着就变成了一个新的状态管理库,kpi 到手,公司也离不开你了,如果不嫌麻烦 rxjs 自己封装一下我觉得不错 | 
|  |      30Removable      2022-03-14 15:46:46 +08:00  1 后端选手自学 react ,用的是 recoil | 
|      31c1273082756      2022-03-14 16:03:00 +08:00 dva? | 
|  |      32RogerL      2022-03-14 16:08:26 +08:00 zustand, jotai, valtio | 
|  |      33rioshikelong121      2022-03-14 16:11:40 +08:00 我记得有个 github 仓库列出了几十个状态管理库,谁能把那个库贴出来. | 
|  |      34dasbn      2022-03-14 16:22:37 +08:00 | 
|  |      35rioshikelong121      2022-03-14 16:29:19 +08:00 @dasbn 我记得有个内容更多的仓库.不是这个 | 
|  |      37mwVYYA6      2022-03-14 16:36:44 +08:00 最近试了 recoil ,可以比 context api 少写一点代码 | 
|  |      38um1ng      2022-03-14 17:18:19 +08:00 其实 vue3 的状态管理 pinia 还是挺好用的 | 
|      39f360family123      2022-03-14 17:18:31 +08:00 react-query | 
|      40charlie21      2022-03-14 17:27:02 +08:00 一般思路是 UI state 和 server cache 分开 参考 https://kentcdodds.com/blog/application-state-management-with-react  server cache 的状态交给 react-query , UI state 直接 context 。 如果要加入额外的层 用 redux | 
|  |      41justin2018      2022-03-14 17:33:49 +08:00 | 
|  |      42w88975      2022-03-14 17:35:39 +08:00 mobx 是我用过最纯的 | 
|  |      43fernandoxu      2022-03-14 17:51:37 +08:00  2 | 
|  |      44zhwithsweet      2022-03-14 19:09:31 +08:00 不怕麻烦的话,可以用 @vue/reactivity ,整活 | 
|  |      45wobuhuicode      2022-03-14 19:53:16 +08:00 和当年一样,用 redux | 
|      46vision1900      2022-03-14 19:54:42 +08:00 via Android Mobx 挺好,只是 React 现在 All In 函数式编程了,两者结合就很奇怪 | 
|      47Cbdy      2022-03-14 19:57:07 +08:00 Jotai | 
|  |      48dany813      2022-03-14 19:57:27 +08:00 @f360family123 这个是管理 http 接口的吧 | 
|      49f360family123      2022-03-14 20:12:17 +08:00 @dany813  是的,但是一般应用场景下数据都是从接口拿到的。只要管理接口的数据就可以了,剩下的用 Context | 
|  |      50isbase PRO 久经考验的还是 redux + hooks ,小点的项目自己封装一些 hooks 配合 context 够用了。 重量级项目可以上 redux ,其他的不推荐 | 
|  |      51posebear1990      2022-03-14 21:23:41 +08:00 贴一篇旧文: [You Might Not Need Redux]( https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367) | 
|  |      52agdhole      2022-03-14 21:25:37 +08:00 Recoil 很好用 | 
|  |      53alexmy      2022-03-14 21:35:40 +08:00 hooks + mobx ,一般习惯了就先不换了吧,前端变化那么快,真心赶不上。何况,我是做后端的。 | 
|  |      54poplar50      2022-03-14 22:44:20 +08:00 via Android tanstack | 
|  |      55shaodeyu1943      2022-03-14 22:55:44 +08:00 @ospider 老哥,看你一直安利这个。 | 
|  |      56XTTX      2022-03-14 23:45:58 +08:00 写习惯了 dispatch reducer 的话,zustand 上手是很快的。自带的 persist localstorage 也很舒服。 再加上 immer 去改 nested object,我觉得比 redux,useContext 什么的舒服很多。 | 
|  |      57rannnn      2022-03-15 00:00:19 +08:00 上 GraphQL 用 Apollo 或者 Relay , 剩下的情况 context 就可以搞定 | 
|      58fuermosi777      2022-03-15 05:27:44 +08:00 前端变化好快,以前用 mobx 很顺手,时隔几年不写前端,再看已经百花齐放了。 | 
|  |      59kensoz      2022-03-15 07:47:56 +08:00 recoil | 
|  |      60Torpedo      2022-03-15 09:56:46 +08:00 redux 挺好的。可以各种自己定制 | 
|  |      61iamvvv      2022-03-15 10:10:25 +08:00 dva 很舒服 | 
|  |      62yazoox      2022-03-15 10:28:09 +08:00 还是在用 redux + redux-saga  ...... | 
|      63zishaofei221      2022-03-15 11:11:00 +08:00 小的 hooks  大的 concentjs | 
|      64undermoodzyx      2022-03-15 15:46:25 +08:00 dva 加 model 工厂模式,嗯,好吃 |