我尝试从有相同问题的来源寻找答案,但对我的案例没有用。 我正在使用此功能为我的应用程序获取一些设置: JS:
export function _someFun() {
setData("abc").then(res => {
dispatch({ type: ACTION.SET_USER_SUCCESS, res });
}, (error) => {
dispatch({ type: ACTION.SET_USER_FAILURE, error });
});
}
其中:setData
是我从Api文件导入的函数,该函数基本上发送响应以获取数据。通过上面的调用,它进入成功调用但是说:"调度未定义"。不知道如何让这个工作..任何想法???
答案 0 :(得分:0)
您需要先安装redux-thunk中间件:
npm install --save redux-thunk
然后,从actionTypes.js文件导入一个actionTypes对象,该对象存储所有动作类型。基本上,应该使用actionTypes代替ACTION。这样更清晰明了。
然后在动作创建者文件中尝试以下操作:
export const setUserSuccess = (response) => {
return {
type: actionTypes.SET_USER_SUCCESS,
payload: {
response: response
}
}
};
export const setUserFailure = (error) => {
return {
type: actionTypes.SET_USER_FAILURE,
payload: {
error: error
}
}
};
export const _someFun = () => {
// Using the redux-thunk middleware
return dispatch => {
setData("abc")
.then(response => {
dispatch(setUserSuccess(response));
}).catch(error => {
dispatch(setUserFailure(error));
});
}
};