在React / Flux中使用兄弟姐妹状态触发动作的正确方法是什么?

时间:2016-10-21 18:44:26

标签: reactjs flux

我有一个我正在消费的Hub组件,它支持一些组件作为显示在栏中的选项。例如。保存按钮(表示为组件B)。

我正在渲染我的UI组件' A'在这个中心内。单击Hub的Save按钮(即组件B),我想将组件A(我的UI)状态发送到服务器。

我的约束: - 我无法在Hub级别保存状态,因为它在层次结构中太高,许多其他组件也会在其他选项卡中呈现,具体取决于URL。

我考虑过的方法:

  1. 单击“保存”按钮时,使用refs获取组件A的状态。
  2. 将对象从Hub传递给组件A.组件A将其状态保存在此对象中,这样只要父级需要状态,就可以使用它。
  3. 行动的层叠。在这种情况下,一个组件将听取一个动作(可行,但由于它违反了通量而高度放弃)

1 个答案:

答案 0 :(得分:0)

经过大量阅读后,使用refs阅读孩子的状态是解决这个问题的方法。

您不应该使用ref修改子状态或调用方法。

使用refs读取状态可以。