如何在异步情况下使用Redux操作REQUEST,SUCCESS,FAILURE时重置错误

时间:2017-07-08 08:29:25

标签: redux react-redux redux-thunk

我正在使用Redux处理一些异步操作。在Redux GitHub文档中,他们建议的方法之一是定义以下三个操作。

{ type: 'FETCH_POSTS_REQUEST' }
{ type: 'FETCH_POSTS_FAILURE', error: 'Oops' }
{ type: 'FETCH_POSTS_SUCCESS', response: { ... } }

参考:https://github.com/reactjs/redux/blob/master/docs/advanced/AsyncActions.md

在我的项目中,收到错误后,我会显示一条消息几秒钟,然后通过将错误重置为空消失。我在上述方法中发现的问题是他们使用的是像SUCCESS和FAILURE这样的动词,如果我使用它会使它变得奇怪

{ type: 'FETCH_POSTS_FAILURE', error: '' }

重置错误,因为命名建议它应该发送错误。另一种方法是我定义另一个动作

{ type: 'FETCH_POSTS_ERROR_RESET' }

但是使用这个我必须引入2个动作,如

{ type: 'FETCH_POST_DATA_EMPTY' }
{ type: 'FETCH_POST_ERROR_RESET' }

还有其他更好的方法可以解决这个问题吗?使用像SUCCESS和FAILURE这样的动词而不是FETCH_POST_SET_DATA或FETCH_POST_SET_ERROR是否有任何理念?

0 个答案:

没有答案