Wie verhindern Sie, dass Komponenten ausgehängt werden?
Wie verhindern Sie, dass Komponenten ausgehängt werden?

Video: Wie verhindern Sie, dass Komponenten ausgehängt werden?

Video: Wie verhindern Sie, dass Komponenten ausgehängt werden?
Video: So funktionieren die Teile eines Computers wirklich | Informatik 2024, Kann
Anonim

Verwenden von reagieren -Router können Sie leicht verhindern Routenänderung (die wird verhindern Komponente abmontieren ) mit Eingabeaufforderung. Sie müssen die Eigenschaft getUserConfirmation, die eine Funktion ist, manuell übergeben. Sie können diese Funktion in jedem Router (Browser, Speicher oder Hash) nach Belieben ändern, um Ihren benutzerdefinierten Bestätigungsdialog zu erstellen (z.

Zu wissen ist auch, wie man die Komponente einer Reaktion aushängt?

Antworten. Ja, ReactDOM bietet eine Möglichkeit zum Entfernen von a Komponente vom DOM durch den Code manuell. Sie können die Methode ReactDOM verwenden. unmountComponentAtNode(container), wodurch ein gemountetes entfernt wird Reaktionskomponente aus dem DOM im angegebenen Container und bereinigen Sie alle Event-Handler und den Status.

Darüber hinaus kann setState oder forceUpdate für eine nicht gemountete Komponente nicht aufgerufen werden. Dies ist keine Operation? Warnung: Kann setState (oder forceUpdate) für eine nicht gemountete Komponente nicht aufrufen . Das ist ein Nein - op , aber es weist auf einen Speicherverlust in Ihrer Anwendung hin. Um das Problem zu beheben, brechen Sie alle Abonnements und asynchronen Aufgaben in der Methode componentWillUnmount ab. Die Lösung, zu der die Leute normalerweise gelangen, ist die Verwendung von Redux.

Was ist auf diese Weise eine unmontierte Komponente?

Aufruf von setState() in einem unmontierte Komponente bedeutet, dass die Komponente wurde nicht richtig aufgeräumt bevor es war unmontiert , d. h., Ihre App hat immer noch einen Verweis auf eine unmontierte Komponente.

Wann sollte ich componentWillUnmount verwenden?

KomponenteWillUnmount ist die letzte Funktion, die unmittelbar vor dem Entfernen der Komponente aus dem DOM aufgerufen wird. Es wird im Allgemeinen verwendet, um eine Bereinigung für alle DOM-Elemente oder Timer durchzuführen, die in componentWillMount erstellt wurden. Bei einem Picknick, KomponenteWillUnmount entspricht kurz bevor Sie Ihre Picknickdecke abholen.

Empfohlen: