我觉得解决的最大问题是状态的封装,把它当做更好用的 reducer
其次是复杂业务需要状态共享
1
ospider 127 天前
Redux 实在是太过度封装了。我选择用 nextjs + useReducer
|
2
skyworker 127 天前 2
反正我们的经验, 这玩意及其恶心, 最好别用.
新版本已经把 Redux 从代码库中全部移除了 |
3
otakustay 127 天前
never
|
4
chenliangngng 127 天前
always not
|
5
liuw666 127 天前 via iPhone
应用全局状况,或者组建传递过于繁琐的的页面状态。 第二种,退出页面时我都会还原到初始状态
|
6
XCFOX 127 天前 1
Redux 早该被扔进垃圾桶。
状态管理建议用 zustand: https://github.com/pmndrs/zustand 。 |
7
bzw875 127 天前
接盘的时候,还是老外写的代码。概念一大堆,各种设计思想,我觉得 99%的项目不必用 redux
|
8
Track13 127 天前 via Android
只有老项目和看培训班视频的人才用 redux 吧。正经人谁用这个啊
|
10
revalue 127 天前 via Android
前端发明了太多邪门玩意,真到接手的时候坑死了
|
11
dartabe 127 天前
前端就是 花不少时间学习的东西 过几年就没用了。。。
当然函数式编程的概念还是不错的 |
12
dwu8555 127 天前
Redux 已经过时了,直接用 react hook 就行了
|
13
qiqw 127 天前
我喜欢 recoil: https://recoiljs.org
|
14
masterclock 127 天前
十几年前?
|
15
jsq2627 127 天前
接老项目还用,新项目基本没人用了
|
18
kenberkeley 127 天前 via iPhone
没有一定规模的项目其实看不出来好处,尤其是国内经常不写单元测试的情况下,基本就是没啥优势。
|
19
lee88688 127 天前 1
现在用 redux 确实少了很多,的确比较复杂。不过 redux 不仅仅可以做状态管理,还可以做成事件触发器,构建 command 模式的和 saga 模式。在复杂的业务场景中真的很好用并且目前开源社区没有比较好的解决方案。主要是 saga 和 command 要求类似事件触发的方式进行解耦。
zustand 确实简化了 redux ,但失去了类事件触发的机制,扩展性降低了很多。 不过大部分 Web 应用应该不会有这么复杂的前端业务,redux 对他们来说确实过于复杂。 |
20
DeWjjj 127 天前
jotai 就行了。
|
21
enchilada2020 127 天前 via Android
@lee88688 事件触发器 saga 和 command 能再详细说说吗 没太理解 最好能有例子或者相关文章之类的
|
22
Jeremial 127 天前
之前我们 react 项目里禁止使用 redux
从一开始就感觉这个很不好用,页面没复杂到一定程序,useState, useContext 那一套完全够用了。 现在回过头来看,当时的决定也算是挺正确的 |
23
skyworker 127 天前 2
@ZoBoat 我们自己的内部项目. 2.0 版本引入 redux, 后来 3.0 版本, 大家一致同意把这个玩意从代码中全部删除, 再也不用这玩意了
比如状态关联, 很多项目中大部分状态关联都是 crud, 可能有一小部分全局状态关联稍微复杂点, 需要 redux. 但是引入 redux 的后果就是, 为了解决"1%的复杂状态管理", 导致其他本来很简单的"99%"的代码, 都变得复杂无比. 更烦人的是(可能我们用的版本不对或者 dva 的问题), 只要修改 redux 的 model, npm 的热加载无效, 必须重新跑一次 npm start 才行, 有点类似 java 中, 改了个 model, 整个一堆微服务都要重启的感觉, 这就太浪费时间了. 后端我都嫌 java 麻烦, 再搞一套更麻烦的前端吗? |
24
BeiChuanAlex 127 天前
@lee88688 #19 同意,redux 有使用的场景,具体看业务需求,而不是为了用而用。
|
25
IvanLi127 127 天前
大概是盖屎山的时候吧。目前只遇到了 umijs,里面的 dva 基于 redux ,难受加倍。现在方案很多,没满十岁的项目应该都有更优秀的状态管理方案。
|
26
chf007 127 天前
都什么年代了
|
27
wpzz 127 天前
在多次交接后,代码难度呈现"指数级"膨胀。
因为每个团队的代码规范,技术能力,写好 redux 需要很好的代码能力。 推荐 「 zustand 」 和 「 mobx 」(新版| hooks 版,老版| class 也是一坨) |
28
lee88688 127 天前 1
@enchilada2020 saga 可以看看 redux-saga 的文档,还有他遵循的 saga 思想(有一篇论文)。command 看一下 Command pattern 。
|
29
eachann 127 天前
|
30
anoninz 127 天前
只有接手老项目的时候用 redux 。
如果想用强类型的全局状态管理试试 mobx-state-tree |
31
IamJ 127 天前
zustand 或者 jotai
|
32
magicdawn 126 天前 via iPhone
valtio
|
33
Amose2024 126 天前
我一直在用 Redux 啊,页面传参给某个弹出框的 component 的时候,用它感觉挺舒服呢。还有就是分页查询的时候,用它存 lastKey 。不然还真不知道能用啥啊
|
34
Amose2024 126 天前
如果 Redux 没有用的话,Vue 的 Pinia 也一样?
|
35
liximomo 126 天前
什么情况下都不用,一直在用 [doura]( https://github.com/dourajs/doura)
|
36
roundRobin 126 天前
用过一次,果断劝退了
|
38
Vogan 126 天前
redux 不算过度封装。但属于设计哲学大于实际编码场景,流程、概念一个不能少把你限制地死死的。让开发者觉得用上 redux 就是带着手铐开发。
|
39
simo 126 天前
react 啊,20 年左右的项目了,当时给前端团队定的 mobx ,觉得 redux 太啰嗦了。
现在不知道 react 项目架构怎么选型,好几年没用过 react 。 |
40
w4ngzhen 126 天前
个人的理解,redux 不适合业务项目,适合一些底层框架使用。举个例子,比如做一个某些领域的低代码底层,使用 redux 可以很好的控制低开中的数据流。
|
41
lstz 126 天前
不爱用 redux 大概率还停留在对老版本的 stereotype 里,最新版本的 redux 配合上 redux-toolkit+hook 已经非常好用了
我确实挺讨厌以前的 redux ,模板化代码太多,但最近一年重新试了一些 redux ,变化很大,整体感观用起来也非常不错 |
42
wu67 126 天前 via Android
试试 jotai
|
43
l4ever 126 天前
react18 自己撸一个
|
44
mark2025 126 天前
Redux 纯属给自己找麻烦,还不如用 rxjs 呢
|
46
wiluxy 126 天前
jotai\zustand\valtio 三选一就可以了
|
47
sjhhjx0122 125 天前
要不就直接 Context,要不就 zustand,打死也不会用 redux
|
48
shunia 125 天前
全局状态用 context 不就行了?我记得官方文档里就教了大家怎么用 context+useReducer 做一个基础的优化的全局状态管理吧?
zustand 或者 jotai 之类的也就那样,为了实现跨库的特性导致写法很丑,而且心智思维没有 react 本身简单,在没有必要的情况下,不建议引入这些额外的库来做状态管理。尤其是使用 TypeScript 的前提下还要增加额外的成本,简简单单 context 一把梭就足够了。 如果你是在做性能吃紧的产品,那直接别用 react ,原生的 html+class 写起来也不复杂,用起来更是简单。 |
49
CodingNaux 125 天前
简单的 API 数据共享:swr
简单页面级数据共享:context + useContext 复杂页面级数据共享:zustand |
50
CodingNaux 125 天前
API 数据共享:swr
|
51
iapplebear 125 天前
zustand 用了几年了,无比好用
|
52
daolanfler 125 天前
|
53
gogozs 124 天前
用 redux 你得接受它的理念,按照它的想法写一大坨代码
|
54
ZoBoat OP 评论区有多少用的是 Redux toolkit
|