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