使用 Flux 在组件之间发送事件(不处理数据)是否合适?
Is it appropriate to send events (that don't deal with data) between components using Flux?
我的 Header 组件有一个按钮,可以打开一个对话框供用户登录。在我的一个页面上,我有一个请求用户登录的按钮。我想打开 Header 具有句柄的同一个对话框。我了解如何使用 Flux 在我的页面上触发一个动作,并让 Header 通过一些商店监听该动作。
我的问题是,由于用户的此操作与任何数据无关,这是否适合作为数据流模式的 Flux?
这似乎是使用通量操作的完全正当理由:
- 让您的商店在某处保存一些
loginModalActive: false
变量
- 您的按钮(任意位置)可以触发对调度员的
showLoginModal
操作
- 您的商店更新为
loginModalActive: true
- 并发出变化
- 您的(根)组件响应存储更新并显示模态
有些人可能会争辩说 loginModalActive
并不是真正的应用程序状态,而是组件状态,因此不应该在商店中。
我对较大流量应用程序的个人经验是,坚持单向流量数据流优于纯粹的应用程序状态数据仅在商店中的解释。
因为另一种方法是将回调函数传递给子组件,这是一种反模式,而且往往会使代码更难管理和调试。
我的 Header 组件有一个按钮,可以打开一个对话框供用户登录。在我的一个页面上,我有一个请求用户登录的按钮。我想打开 Header 具有句柄的同一个对话框。我了解如何使用 Flux 在我的页面上触发一个动作,并让 Header 通过一些商店监听该动作。
我的问题是,由于用户的此操作与任何数据无关,这是否适合作为数据流模式的 Flux?
这似乎是使用通量操作的完全正当理由:
- 让您的商店在某处保存一些
loginModalActive: false
变量 - 您的按钮(任意位置)可以触发对调度员的
showLoginModal
操作 - 您的商店更新为
loginModalActive: true
- 并发出变化
- 您的(根)组件响应存储更新并显示模态
有些人可能会争辩说 loginModalActive
并不是真正的应用程序状态,而是组件状态,因此不应该在商店中。
我对较大流量应用程序的个人经验是,坚持单向流量数据流优于纯粹的应用程序状态数据仅在商店中的解释。
因为另一种方法是将回调函数传递给子组件,这是一种反模式,而且往往会使代码更难管理和调试。