【发布时间】:2022-01-16 03:35:04
【问题描述】:
我知道 Redux 是一个公正的选择。 在考虑是否使用 Redux 时,我一直在寻找有关利弊的文章,但最近的文章很少。旧文章有我不能同意的内容。
文章说样板代码和性能是 Redux 的缺点。但是,现在也是这样吗?
封装
在 redux 结构中,我可以访问任何数据(无封装)。但是,我没有。这取决于开发人员的能力,我可以随心所欲地关心封装。
凝聚力
当我使用 redux 时,我的代码更有凝聚力。数据变异逻辑被放置在每个特征的切片中。
样板代码
我确实必须在 Redux 结构中以 redux 方式编写代码。 我不得不在 Redux 结构中多写一点代码,但还是有一点点。相反,在使用 Redux 时可以重用更多的部分。 当我们在后端制作控制器时,我们以依赖框架的方式制作代码。由于设计灵活,几乎没有人从非常低的水平制作控制器。
性能
我已经使用 react-redux 为一些复杂的用例创建了视图。但是,我可以找到有意义的表现。我认为数百KB的Redux包导致性能下降也是没有意义的。
所以我的问题是......
- 我读到的关于 Redux 缺点的文章是 2 年前写的。现在使用 Redux 工具包是一种标准方式。样板代码仍然是 Redux 的弊端?
- 如果性能下降是 Redux 的弊端,你能告诉我具体的例子吗? (什么样的项目在使用redux的时候会出现性能问题,或者因为性能问题不使用redux的情况。)
- 今天使用 Redux 的最大缺点是什么? (除了很难)
任何其他想法或意见,请告诉我。
【问题讨论】:
-
很难正确回答这个问题,因为它会以某种方式固执己见。我个人认为 redux 是一个非常简单的库,它本身不会出错。阅读源代码,它简洁并且做得很好。当你潜入所谓的“生态系统”时,事情就会出错,许多概念上过于复杂的解决方案似乎很诱人,但如果盲目使用,就会把你搞砸。
-
不同的模式和架构没有优缺点 孤立地,与其他一些架构相比,它们只有优缺点或图案。到目前为止,您只写过有关 Redux 的文章——您需要先将其与某些东西进行比较。
-
“我知道 Redux 是一个公正的选择” - 你所说的“一个公正的选择”是什么意思?
-
“文章说样板代码和性能是 Redux 的缺点” - 您指的是哪些文章?需要样板代码的指责并不是对我熟悉的 Redux 的批评。相反,与旧的 Flux 模式相比,Redux 减少了样板文件:redux.js.org/usage/reducing-boilerplate
-
现代 Redux 有 very 小样板,因为它不再使用 switch..case reducers、ACTION_TYPES 或连接。不幸的是,许多过时的文章仍然引用了 Redux 的过时风格,大约是 4 倍的代码。要掌握现代 Redux,最好遵循redux.js.org/tutorials/essentials/part-1-overview-concepts的官方教程
标签: reactjs redux react-redux frontend