【发布时间】:2016-02-04 13:24:40
【问题描述】:
Redux 是关于 reducer 组合的。您可以将它们嵌套起来,然后随意组合。重要的是每个减速器完全不知道状态的外部结构。它只处理自己的部分。
很遗憾,这不适用于组件。
当你 connect 一个组件到 redux 时,你通常会定义一个函数,将状态映射到组件的 props。我认为最不理想的是这个函数总是将整个应用程序状态作为参数。
在理想情况下,如果组件依赖于单个 reducer 管理的数据,我更喜欢组件(或 connect 函数)...
- 只能访问该数据。
- 不必担心数据在状态层次结构中的位置。
整个组件(或者可能是一个应用程序模块/部分)将与应用程序的其余部分很好地分离(我认为这是 React 的理想选择)从一开始就努力)。
如果不出意外,它会使状态结构的重构变得更简单(现在很容易在嵌套的 reducer 中移动,但是您必须手动更新所有所谓的 ContainerComponents 以匹配新的状态结构)。
有没有推荐的方式或模式如何在组件级别实现这种解耦?
【问题讨论】:
-
问题在标题中,但我也将其添加到文本中以使其清楚。
-
很好的问题,我的问题完全相同。令人惊讶的是,它没有得到太多答案。请问你最后得到了什么?