我在我的应用程序中使用react-redux。它与后端API通信。当有任何错误时,它应显示警告信息。
Follwing是我的行动:
function getByStatus(code) {
return dispatch => {
StoreService.getByStatus(code)
.then(
users => {
......
}
).catch(error => {
dispatch(failure(error));
dispatch(alertActions.error(error)); // problem here
console.log(error);
});
};
function failure(error) { return { type:Constants.GETALL_FAILURE, error } }
}
如果我在catch中添加dispatch(alertActions.error(error))
,则代码重复调用api 。
我在componentWillMount
中调用我的行动,如下所示
componentWillMount() {
const { dispatch } = this.props;
dispatch(ReviewActions.getByStatus(1));
}
当我删除dispatch(alertActions.error(error))
时,它没有重复调用。
你可以请我发牢骚吗