关于React如何终止state

#1

情景:有一个组件,组件中有一个异步请求的方法,在willMount阶段执行,假如这个异步函数执行需要10s中,我在切换组件后,如何终止这个异步函数(控制台中api已经发送,但未返回)

#2

不处理是最简单的方式了

#3

可以试试在componentWillUnmount把异步干掉

#4

xhr.abort()

#5

目前的做法就是不处理:joy:

#6

如果组件不在了,但是你的请求返回了,你在 then 里面 setState 会报错,这里也要处理下。

#7

那这里处理的话应当如何处理

#8

在didMount中

DidMount() {
this.isMounted  = true;
}

componentWillUnmount() {
this.isMounted = false;
}

在setTimeOunt中判断isMounted