【问题标题】:How to make components independent on the state structure the same way reducers are如何使组件独立于状态结构,就像 reducer 一样
【发布时间】:2016-02-04 13:24:40
【问题描述】:

Redux 是关于 reducer 组合的。您可以将它们嵌套起来,然后随意组合。重要的是每个减速器完全不知道状态的外部结构。它只处理自己的部分。

很遗憾,这不适用于组件。

当你 connect 一个组件到 redux 时,你通常会定义一个函数,将状态映射到组件的 props。我认为最不理想的是这个函数总是将整个应用程序状态作为参数。

在理想情况下,如果组件依赖于单个 reducer 管理的数据,我更喜欢组件(或 connect 函数)...

  1. 只能访问该数据。
  2. 不必担心数据在状态层次结构中的位置。

整个组件(或者可能是一个应用程序模块/部分)将与应用程序的其余部分很好地分离(我认为这是 React 的理想选择)从一开始就努力)。

如果不出意外,它会使状态结构的重构变得更简单(现在很容易在嵌套的 reducer 中移动,但是您必须手动更新所有所谓的 ContainerComponents 以匹配新的状态结构)。

有没有推荐的方式或模式如何在组件级别实现这种解耦?

【问题讨论】:

  • 问题在标题中,但我也将其添加到文本中以使其清楚。
  • 很好的问题,我的问题完全相同。令人惊讶的是,它没有得到太多答案。请问你最后得到了什么?

标签: reactjs flux redux


【解决方案1】:

显然,答案是reselect。选择器的结构和嵌套方式与缩减器相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-19
    • 2021-07-20
    • 2011-12-18
    • 2013-04-23
    • 2020-12-23
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多