2017-07-19 5 views
0

wie könnte ich Vorgang abbrechen holen, wenn die Komponente gehen weg (unmounten)Abbruch holen, wenn die Komponente Aushängen

Beispiel: Benutzer dieses Fenster öffnen und gehen Sie zurück, bevor holen komplette

hier ist das, was ich habe

getan
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> 
     ); 
    } 
} 

Antwort

1

Edit:

ich glaube nicht, dass es zur Zeit möglich ist, abbrechen/Abbruch einer Anforderung holen. Sie die Diskussion folgen hier:

https://github.com/whatwg/fetch/issues/447

Aufruf eine Funktion auf componentDidUnmount wie unten erwähnt.

componentWillUnmount(){ 
    this.unLoadLectures(); 
} 

unLoadLectures =() =>{ 
    this.state = {lectures : [] , loadingNow : true} 
}; 
+0

Ich denke, das wird 'fetch' Funktion nicht abbrechen – Ali

+0

Werfen Sie einen Blick auf diesen Beitrag. https://discuss.reactjs.org/t/cancel-async-fetch-on-unmount/3272 – Etherealm

+0

danke für deine Wiederholung – Ali

Verwandte Themen