我已经从组件中调用了一个动作创建器来创建/编辑资源,而资源又向服务器发送API请求。我该如何处理服务器关闭或返回错误的情况?我希望任何相关组件都能获得成功/失败的通知。
我目前的想法是:
向评论商店发送COMMENT_FAILED,COMMENT_SUCCESS动作,然后以某种方式通知组件?
在发起组件中使用promise来捕获动作调用中的错误并适当地响应/呈现它们。
哪个更好?为什么呢?
之前曾在React+Flux: Notify View/Component that action has failed?中提出这个问题,但唯一提出的解决办法就是使用2中的Promises。我当然可以这样做,但似乎......不像Flux一样。
答案 0 :(得分:1)
我通常做的是创建一个特定于我的容器/组件的错误减少器。例如,如果用户提交了登录信息,我会将错误发送到我的登录reducer,如下所示。
export default function dispatchError() {
return function(dispatch) {
dispatch({
type: 'LOGIN_ERROR',
payload: 'You entered an incorrect password'
});
}
}
现在在你的实例中,这将是非常相似的。任何时候发送给您的减速机的请求都会失败。