2017-07-18 8 views
2

Ich versuche gerade, eine Komponente eines Drittanbieters zu debuggen. Was ich sehe, ist, dass es erwartet, ein internes Attribut in componentWillMount() zu initialisieren und dann in componentWillUpdate() davon Gebrauch zu machen. Die React documentation sagt dies über 'Update' Methoden:Reaction componentWillMount() aufgerufen nach componentWillUpdate()?

Ein Update kann durch Änderungen an Requisiten oder Zustand verursacht werden. Diese Methoden sind aufgerufen, wenn eine Komponente wird neu gerendert

Dass gesagt wird, sollte der Code die Möglichkeit handhaben, dass componentWillUpdate() wird vor componentWillMount() aufgerufen werden oder sollte ich zu sehen, graben, was offensichtliche Ursache zu sein scheint die umgekehrte Sequenz?

Wir reagieren verwenden 15.0.1

+0

Eine Komponente sollte vor der Installation nicht aktualisiert werden können. – Gregg

+1

Hier ist das Problem, Komponente wird mount wird vor der Montage ausgelöst, aber Ihre Komponente wird möglicherweise mehrmals gerendert, bevor montiert ist, Render und Montage sind nicht das Gleiche, dh Ihre Komponente befindet sich in einem Container, der 'display: none ist '. Jedes Mal, wenn sich die Eigenschaft ändert, wird die Komponente gerendert, bedeutet aber nicht, dass sie gemountet wird. –

Antwort

0

Wie Sie componentWillUpdate() nur genannt wird erwähnt, wenn eine Komponente sein, ist neu gerendert. Und componentWillMount() wird direkt vor dem initial Render (eine Komponente wird nur einmal in seinem Lebenszyklus montiert) aufgerufen werden. So gibt es keine Möglichkeit componentWillMount() heißt nach componentWillUpdate().

Verwandte Themen