我一直在查看stackoverflow上类似的问题/解决方案几个小时,但似乎没有一个解决我的问题。基本上我正在尝试设置Redux Thunk,以便在我的操作中进行API调用,如下所示:
export function loadUserInfo(){
return function(dispatch){
return axios.get('/api/auth/GetUsername', config).then(response=>{
dispatch(loadUserSuccess(response.data.username));
}).catch(function(error){
throw(error);
});
};
我在“axios”之前尝试过使用和不使用return语句,但是我一直收到以下错误:
“操作必须是普通对象。使用自定义中间件进行异步操作。”
我相信我已经正确配置了我的中间件:
export default function configureStore(initialState){
return createStore(
rootReducer,
initialState,
applyMiddleware(thunk, reduxImmutableStateInvariant())
);}
答案 0 :(得分:0)
我相信你的问题在于格式化;你试图在返回的thunk上捕获失败的承诺。
type = "response"
答案 1 :(得分:0)
dispatch(loadUserSuccess(response.data.username))
loadUserSuccess(response){
return {type:"success", payload:response}
}