ReactJS/Flux - 监听商店进度事件

ReactJS/Flux - Listening for store progress events

我正在开发 ReactJS + Flux 应用程序。该应用程序允许用户提交 post。这个post可能需要几秒才能上传到服务器,我想显示一个进度条。

当前流程是:使用 post 数据调用的操作方法 -> 调度程序 -> post 存储 -> ??? -> 更新 post UI 以显示进度条。

问号是发出的事件。我的问题是:使用 "change" 以外的事件是否是一种反模式?我想更具体一些(例如,发出 "progress"),这样我就可以在视图中做更少的工作来确定是否有进展。

我认为没有必要引入新的事件类型,这样做可能会随着应用程序的增长而更难跟踪数据流。这似乎可以使用正常的设计模式来处理。如果进度是在客户端计算的,您可以在操作创建者本身(例如发送 post 请求的点击处理程序)中进行计算,并发出一系列 PROGRESS 操作来更新您的商店并让您的视图刷新如所须。

最终,我认为进度指示器之类的东西是视图保持最新状态的责任。

我处理这种情况的方法是让商店记录 Post 启动的时间。然后在 UI 中,您可以从存储中读取该时间戳并设置一个间隔以获取当前时间戳并计算增量。