Denken Sie einfach an als eine Opportunity-Funktion. Es ist Ihre Gelegenheit zu tun, wie die Dokumentation sagt, führen Sie zusätzliche Aufräumarbeiten durch, die React nicht alleine durchführen wird.
Soweit XHR-Anforderungen gehen, müssten Sie eine Promise-Bibliothek haben, die das Abbrechen des Versprechens unterstützt. Wenn die von Ihnen verwendete Bibliothek das unterstützt, dann würden Sie in dernur sicherstellen, dass Sie Zugriff auf alle Versprechungen haben und jede verwerfen.
Wenn Sie etwas anderes löschen möchten, müssen Sie nur die Funktionen verwenden, die Ihnen zur Verfügung stehen, um das abzubrechen, was Sie stornieren möchten. Wenn es eine Funktion ist, die es abbricht, dann verwenden Sie die Art von , wenn Sie es abbrechen müssen, wenn die Komponente abgehängt wird.
Als ein Beispiel dafür, wie wir es verwenden, wo ich bin: Wenn eine Komponente Anforderungen stellen wird, legen wir eine Eigenschaft für die Komponente fest, die ein Array ist und alle Anforderungen enthält. wir würden dies this.statePromises
nennen. Wann immer wir eine Anfrage stellen/Versprechen, würden wir dieses Versprechen in die this.statePromises
schieben. Im componentWillUnmount
haben wir die folgende
componentWillUnmount() {
this.statePromises.forEach(p => p.cancel());
}
p ein Versprechen zu sein. Dies funktioniert nur wegen der Bibliothek, Bluebird, die wir für unsere Versprechen verwenden. Aber das sollte Ihnen eine Vorstellung davon geben, wie Sie verwenden könnten, um zusätzliche Aufräumarbeiten durchzuführen.
'componentWillUnmount' kann" Anfragen "nicht abbrechen. Es ist ein Ort, an dem * du * die notwendige Säuberung durchführen soll. Was genau das ist, hängt davon ab, was du tust und hat nichts mit Reagieren zu tun. Wenn Sie also eine bestimmte Frage zum Abbrechen des Ladens eines Iframes haben, sollten Sie das fragen (wiederum hat das nichts mit React zu tun). Allerdings gibt es bereits eine Frage dazu: [Wie Iframe laden zu stoppen?] (Http://stackoverflow.com/q/9669086/218196) –