【问题标题】:How to properly close axios request in react redux application?如何在 react redux 应用程序中正确关闭 axios 请求?
【发布时间】:2019-04-27 20:45:09
【问题描述】:

reactredux 应用程序通过 Axios 使用异步调用,我需要取消用户后仍在进行中的此类请求导航到其他页面或其他任何内容。作为 react 新手,我想出了一个想法,将 axios cancelToken 保持在 redux 状态,并在 react 组件的 componentWillUnmount() 中取消它。

示例:

componentWillUnmount() {
  const (isLoading, cancelToken} = this.props;
  if (isLoading) {
    cancelToken.cancel("Abort request");
  }
}

有没有更好的模式或解决方案?

编辑: 在 redux-thunk 中触发异步调用,即动作

【问题讨论】:

  • 你在哪里进行这些异步调用,在组件或动作创建者中
  • 你可能想看看 RxJS
  • 刚刚添加的信息。它在中间件 redux-thunk 中。

标签: reactjs redux react-redux axios


【解决方案1】:

这取决于您在哪里实现了提取。

如果您已将其放置在组件中,则可以在 componentWillUnmount 方法中触发取消事件。

如果你已经把它放在了一个中间件比如 redux-saga 中,你可以创建和使用取消令牌然后在那里本身。

如果它在动作创建者中,您可以尝试here建议的方法

【讨论】:

    猜你喜欢
    • 2020-05-04
    • 1970-01-01
    • 2018-03-11
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    相关资源
    最近更新 更多