记react 使用的问题

react

问题描述: 1. react组件中,组件中正执行某个请求,请求未结束时卸载该组件,请求使用promise,此时promise状态为pedding,  组件componentWillUnMount已经执行;     2. 重载该组件后,请求的promise会继续执行,  

当时测试环境前提: TestComponent  父组件并未卸载

代码如下

class TestComponent extends Component {

componentDidMount(){

}

componentWillUnMount(){

console.log('unMount')

}

async request(){

await startReqesut()

this.props.callback && this.props.callback()

}

}

加载 TestComponent后,比如点击执行 this.request();    startReqesut接口请求还未结束时, 卸载TestComponent组件,componentWillUnMount()已经执行

下次重载TestComponent时, 会执行 startRequest后面的代码 ,即 this.props.callback

卸载TestComponent后, js事件循环并未将startRequest 生成的微任务执行

以上是 记react 使用的问题 的全部内容, 来源链接: utcz.com/z/381167.html

回到顶部