如何在组件消失(卸载)时取消提取操作
示例:用户打开此屏幕并在获取完成之前返回
这就是我所做的
export default class LecturesScreen extends React.Component
{
constructor(props){
super(props);
this.state = {lectures : [] , loadingNow : true}
}
componentDidMount(){
this.loadLectures();
}
loadLectures = () =>{
fetch(Link.api.lecture.newest , {method : 'POST'})
.then((response) =>
{
this.setState({lectures : response , loadingNow: false});
})
.catch((error)=>
{
console.log(error);
});
};
render(){
return (
<View>
<List dataArray={this.state.lectures}
renderRow={(item) => <LectureListItem title={item.Title}/>}
/>
</View>
);
}
}
答案 0 :(得分:2)
编辑:
我认为目前无法取消/取消获取请求。 您可以在此处进行讨论:
https://github.com/whatwg/fetch/issues/447
调用componentDidUnmount上的函数,如下所述。
componentWillUnmount(){
this.unLoadLectures();
}
unLoadLectures = () =>{
this.state = {lectures : [] , loadingNow : true}
};