在Flux体系结构中,全局调度程序是否有害

In Flux architecture, will a Global Dispatcher be harmful?

本文关键字:调度程序 是否 全局 Flux 体系结构      更新时间:2023-09-26

据我所知,在FacebookFlux架构中,应该只有一个Dispatcher。

有一个可能类似于事件总线的全局调度器是合理的。但是,我想知道使用单个全局Dispatcher是否不好。

例如,假设我已经开发了一些组件和Dispatcher。现在我想导入第三方组件库,来自第三方的dispatcher不能直接导入,因为应该只有一个dispatcher(我已经开发了自己的Dispatch)

一种解决方案是,第三方可以某些行为附加到全局调度程序。然而,这也可能是有害的。因为他们使用的事件名称可能与我的冲突。例如,他们使用与我相同的事件名称,而我可能会偶然触发他们的事件。

有人对此有想法吗?谢谢

每个流量应用程序都应该有一个单独的调度器——换句话说,每个存储、操作和相关组件的逻辑集都应该只有一个调度员。

如果您使用其他库,它可以由flux或类似flux的系统管理,在这种情况下,它将使用自己的调度器。然而,它应该提供一个公共的API,通过props和回调进行通信,即使它在后台使用通量或类似通量的实现;焊剂内部不应暴露在外。

在大多数情况下,我认为在您自己的流量设置中添加特定功能(例如,特定操作、存储等)的库是没有意义的,原因有几个。然而,在理论上,如果确实是有意义的,那么它可能应该将行为"插入"到现有系统中,正如您所提到的,理想情况下是命名操作之类的东西。