真的有那么多项目由组件间通信的需求吗? 用 context 不好吗?
1
fengfuliu 2021-03-03 13:16:06 +08:00
React 项目那么多 肯定有部分项目是比较复杂的啊 再者当开发编辑 /撤销一些功能的时候也很好用
redux 更多的是一种思想 而且用起来也没那么麻烦 麻烦的是用的时候用 react-redux/redux-thunk 都用的时候新手容易混吧 感觉题主是在看面试资料然后看到 redux 相关的知识点看了觉得复杂然后有这个问题的 |
2
ericls 2021-03-03 13:21:40 +08:00 via iPhone
这几年对它的需求越来越少 因为有了内置的 reducer 而且 hooks 里面 context 也越来越好用了。 但是它对 react 还是很有贡献的。
用 context 你需要注意一个问题 如果你的 context 是个 mutable object 只要其中一个 value 变了所有 consumer 都会 re-render. 这个时候你可以写一些 selector 来规避这个问题 这个时候你基本上就自己写了半个 redux 了. 当然你也可以有别的办法 |
3
noe132 2021-03-03 13:22:41 +08:00 via Android
mobx 不香么
|
4
PeakFish 2021-03-03 13:24:43 +08:00
好多应用,根本不需要那么复杂,瞎搞整的网站 js 很大,对我来说 event bus 更好用,几行代码
|
5
love 2021-03-03 13:30:02 +08:00
我第一个项目是用 redux,以后发现这库简直有点可笑,改数据结构方式太原始可怜了,后来用 immer 自制了一个
|
6
yyfearth 2021-03-03 13:38:42 +08:00
有了 useContext/useState/useReducer 对 redux 的需求减少了很多
但是项目已经开始几年了 而且就算是新项目 往往也会用就项目的框架 不管怎样稍微大一点的项目 redux 基本上是标配 而且熟悉 react 的人往往都接触过 redux mobx 相对小众一点 但是对于 TS 的项目 貌似比较欢迎 |
7
weixiangzhe 2021-03-04 10:25:19 +08:00
确实没有必要,而且我看大家用 redex 都是用来发 effect,拉接口啥的,除非你们一定要上 ssr,否则没有必要,带来的问题比不用 redux 的多。
我认为一般要用 redux 是复杂场景,需要用到状态回溯定位问题的那样,也就是说没有用 redux dev-tool 也就白用了。我们一般做业务类项目的,你说它大吧,也挺大,复杂却没有,也就是页面多一点。这样系统需要存全局只有用户信息和系统配置类的数据, 再加上现在 hooks 也一堆的 swr 的方案,拉数据比 redux 之类的全局好太多。 我个人认为复杂场景是做编辑器,比如整个思维导图,low code 编辑器,这样是一定要上 redux, 没有状态回溯完全不能用。 |
8
kwrush 2021-03-10 08:20:58 +08:00
redux 出的早啊,你现在看当然会觉得没必要
|