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

What is the right way to fire an action with siblings state in React/Flux?

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

我正在此中心内渲染我的 UI 组件 'A'。单击集线器的保存按钮(即组件 B )时,我想将组件 A(我的 UI )状态发送到服务器。

我的约束:- 我无法在 Hub 级别保存状态,因为它的层次结构太高,而且许多其他组件也会根据 url 在其他选项卡中呈现。

我考虑过的方法:

  1. 单击“保存”按钮时使用 refs 获取组件 A 的状态。
  2. 将一个对象从 Hub 传递给组件 A。组件 A 会将其状态保存在此对象中,以便父级在需要该状态时可用。
  3. 级联动作。在这种情况下,A 组件将监听一个动作(可行但非常不鼓励,因为它违反了通量)

经过大量阅读,使用 refs 读取 child 的状态是解决此问题的方法。

您不应该修改 child 的状态或使用 refs 调用方法。

可以使用refs读取状态。