Comment faire pour annuler une opération d'extraction sur componentWillUnmount

Je pense que le titre dit tout. Le jaune d'avertissement est affiché à chaque fois que je démonter un composant qui est toujours en chargement.

Console

Avertissement: ne Peut pas appeler setState (ou forceUpdate) sur une démonté composant. C'est un no-op, mais ... À corriger, annuler tous les abonnements et des tâches asynchrones dans le componentWillUnmount méthode.

  constructor(props){
    super(props);
    this.state = {
      isLoading: true,
      dataSource: [{
        name: 'loading...',
        id: 'loading',
      }]
    }
  }

  componentDidMount(){
    return fetch('LINK HERE')
      .then((response) => response.json())
      .then((responseJson) => {
        this.setState({
          isLoading: false,
          dataSource: responseJson,
        }, function(){
        });
      })
      .catch((error) =>{
        console.error(error);
      });
  }
  • qu'est-ce que c'avertissement je n'ai pas ce problème
  • question mise à jour
  • avez-vous une promesse ou asynchrone code pour récupérer
  • ajouter vous extraire le code de qustion
  • voir isMounted est un Antipattern et avorter un fetch.
InformationsquelleAutor João Belo | 2018-04-18