我的行动:
const someAction = () => {
return {
[RSAA]: {
types: [
SOME_REQUEST,
SOME_SUCCESS,
SOME_FAILURE,
],
endpoint: ...,
method: 'POST',
}
};
};
我用以下方式调用它:
this.props.someAction();
一切正常,我能够处理reducer中的数据。 问题是,在调用函数时,我能以某种方式获取函数的结果吗?
我的意思是这样的:
this.props.someAction().then( //success ).catch( //error );
答案 0 :(得分:1)
简单地说, redux-api-middleware 完成以下步骤(更多详细信息here):
您要访问的结果响应可以通过以下方式在您的Reducer中获取:
action.payload
因此,处理成功或失败的Reducer看起来像这样:
export default (state=initialState, action) => {
switch(action.type) {
case SOME_SUCCESS:
let success_response = action.payload
// some logic handling successful response
// return modified state
case SOME_FAILURE:
let error_response = action.payload
// some logic handling error message response
// return modified state
default:
return state;
}
}