具有反应和 redux 应用程序,该应用程序通过 Axios 使用异步调用,一旦用户,我需要取消仍在进行的请求导航到其他页面或其他任何内容。刚开始反应时,我想到了将axios cancelToken 保持在redux状态,并在react组件的componentWillUnmount()
中取消它的方法。
示例:
componentWillUnmount() {
const (isLoading, cancelToken} = this.props;
if (isLoading) {
cancelToken.cancel("Abort request");
}
}
是否有更好的模式或解决方案?
编辑: 在redux-thunk即操作
中引发了异步调用答案 0 :(得分:1)
这取决于您在哪里实现了提取。
如果将其放置在组件中,则可以使用componentWillUnmount
方法触发cancel事件。
如果已将其放置在redux-saga之类的中间件中,则可以在那里创建并使用cancel令牌。
如果它在操作创建者之内,则可以尝试建议的方法here