【问题标题】:ReactJS/Flux - Listening for store progress eventsReactJS/Flux - 监听存储进度事件
【发布时间】:2015-03-31 21:15:02
【问题描述】:

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

目前的流程是:用post data调用action方法-> dispatcher -> post store -> ??? -> 更新帖子 UI 以显示进度条。

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

【问题讨论】:

    标签: reactjs reactjs-flux


    【解决方案1】:

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

    【讨论】:

    • 我稍后会尝试这个 - 如果它有效并且遵循通量设计模式,那么我认为它可以被接受。谢谢!
    【解决方案2】:

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

    我处理此类案例的方式是让商店记录帖子开始的时间。然后在 UI 中,您可以从存储中读取该时间戳并设置一个间隔来获取当前时间戳并计算增量。

    【讨论】:

      猜你喜欢
      • 2018-10-12
      • 1970-01-01
      • 2017-06-14
      • 2020-11-04
      • 2015-06-02
      • 2015-07-17
      • 2014-08-14
      • 2019-04-01
      • 2017-09-20
      相关资源
      最近更新 更多