【问题标题】:How to handle server/request errors in flux?如何处理不断变化的服务器/请求错误?
【发布时间】:2016-12-03 09:24:20
【问题描述】:

我从一个组件调用了一个动作创建者来创建/编辑一个资源,然后它会向服务器发送一个 API 请求。我应该如何处理服务器关闭或返回错误的情况?我希望任何相关组件都能收到成功/失败通知。

我目前的想法是:

  1. 将 COMMENT_FAILED、COMMENT_SUCCESS 操作分派到评论存储区,然后以某种方式通知组件?

  2. 在启动组件中使用 Promise 来捕获来自操作调用的错误并适当地响应/呈现它们。

哪个更好?为什么?

这已经在React+Flux: Notify View/Component that action has failed? 中提出过,但唯一建议的解决方案是使用 2 中的 Promises。我当然可以这样做,但似乎......不像 Flux。

【问题讨论】:

  • 你使用什么通量实现?
  • 我正在使用 Facebook 流量

标签: flux


【解决方案1】:

我通常做的是创建一个特定于我的容器/组件的错误减少器。例如,如果用户提交了登录信息,我会按如下方式将错误发送到我的登录减速器。

export default function dispatchError() {
      return function(dispatch) {
           dispatch({
                type: 'LOGIN_ERROR',
                payload: 'You entered an incorrect password'
           });
      }
 }   

现在,在您的例子中,这将非常相似。任何时候向您的减速器发送失败的请求。

【讨论】:

  • 是的,这与我的想法非常相似。您将如何处理在同一页面上有多个相同组件的情况?您只希望启动操作的组件响应成功/错误调度。在这种情况下,也许承诺是一个更好的主意?
  • 我不认为 Facebook 的通量有减速器,但有多个商店。不过应该足够相似
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-01
  • 2011-11-06
  • 2019-02-27
相关资源
最近更新 更多