首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Post请求redux thunk

Post请求redux thunk
EN

Stack Overflow用户
提问于 2019-03-15 03:45:09
回答 1查看 58关注 0票数 1

我有GET请求,当这些请求成功时,我通常会将数据保存在存储中,但是对于POST请求,为了执行一些代码(显示消息和重定向),我需要知道它是否成功,文档说你可以使用isLoading变量,但它只是说如果服务正在工作,而不是它是否成功,如果我试图在存储中创建一个新的成功变量,它将在请求后永远打开,我也不需要它。我尝试从动作创建者返回一个promise,并在组件中直接处理响应,但在组件中调用axios与使用redux看起来是一样的。

我的动作创建器看起来像这样:

代码语言:javascript
复制
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;
    });
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 11:05:56

我理解你的疑虑来自哪里,在你的Redux商店上有一个字段只为了知道一次性请求的成功似乎是不合适的。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55170859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档