【发布时间】:2019-08-05 20:09:49
【问题描述】:
我有 GET 请求,通常当这些请求成功时,我会将数据保存在存储中,但对于 POST 请求,我需要知道它是否成功,以便执行一些代码(显示消息并重定向),文档说你可以使用 isLoading 变量,但它只是说服务是否正在工作,但如果它成功则不会,如果我尝试在商店中创建一个新的成功变量,它将在请求后永远打开,我不需要那个任何一个。我尝试从动作创建者返回一个承诺并直接在组件内部处理响应,但是在那里调用 axios 而不是使用 redux 看起来是一样的。
我的动作创建器如下所示:
export function createProject(userId, projectName) {
return function (dispatch) {
dispatch({ type: projectsActions.START_CREATE_PROJECT });
return ProjectsService.createProject(userId, projectName).then(() => {
dispatch({ type: projectsActions.SUCCESS_CREATE_PROJECT });
}).catch((error) => {
dispatch({ type: projectsActions.ERROR_CREATE_PROJECT });
throw error;
});
}
}
【问题讨论】:
标签: redux axios redux-thunk