首页 文章

如何正确关闭react redux应用程序中的axios请求?

提问于
浏览
2

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

例:

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

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

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

1 回答

  • 1

    这取决于您实现提取的位置 .

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

    如果您将它放在诸如redux-saga之类的中间件中,那么您可以创建并使用取消令牌 .

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

相关问题