Redux 请求后重发thunk

Redux 请求后重发thunk,redux,axios,redux-thunk,Redux,Axios,Redux Thunk,我有GET请求,通常当这些请求成功时,我会将数据保存在存储中,但对于POST请求,我需要知道它是否成功,以便执行一些代码(显示消息和重定向),docu说可以使用isLoading变量,但它只说服务是否工作,而不是它是否成功,如果我尝试在应用商店中创建一个新的成功变量,它将在请求之后永远打开,我也不需要它。我尝试从action creator返回一个承诺,并直接在组件内部处理响应,但在那里调用axios而不是使用redux看起来是一样的 我的动作创建者如下所示: export function c

我有GET请求,通常当这些请求成功时,我会将数据保存在存储中,但对于POST请求,我需要知道它是否成功,以便执行一些代码(显示消息和重定向),docu说可以使用isLoading变量,但它只说服务是否工作,而不是它是否成功,如果我尝试在应用商店中创建一个新的成功变量,它将在请求之后永远打开,我也不需要它。我尝试从action creator返回一个承诺,并直接在组件内部处理响应,但在那里调用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商店上有一个字段仅仅知道一次性请求的成功似乎是不合适的

如果您只需要发出post请求,并且只关心它的结果一次,那么最简单的方法就是在发出请求的组件中使用状态。组件级状态很容易管理,并且在卸载组件时从内存中删除,但另一方面,您可能希望为您的应用程序提供单一的真实来源。您必须做出选择,但您的Redux实现是正确的