使用Flux在组件之间发送事件(不处理数据)是否合适?

时间:2016-05-03 02:42:02

标签: reactjs flux reactjs-flux

我的情况是我的Header组件有一个按钮,打开一个供用户登录的对话框。在我的一个页面上,我有一个请求用户登录的按钮。我想打开Header处理的相同对话框。我理解如何使用Flux在我的页面上触发操作并让Header通过某个商店监听该操作。

我的问题是,由于用户的此操作与任何数据无关,这是否适用于Flux,这是一种数据流模式?

1 个答案:

答案 0 :(得分:2)

这似乎是使用助焊剂行为的完全正当理由:

  • 让您的商店在某处保存一些loginModalActive: false变量
  • 您的按钮(任何地方)可以触发showLoginModal调度员
  • 操作
  • 您的商店更新为loginModalActive: true
  • 并发出更改
  • 您的(根)组件响应商店更新并显示模态

有些人可能认为loginModalActive不是真正的app状态,而是组件状态,因此不应该在商店中。

我对大型磁通应用程序的个人经验是,坚持单向数据流的变化优于纯粹的app-state-data-only-store-store解释。
因为替代方法是将回调函数传递给子组件,这是一个反模式,并且往往使代码更难管理和调试。