2015-12-26 3 views
9

Ich bin ein wenig ratlos auf diesem. Ich habe eine Route namens classes/:id definiert. Beim Navigieren zu dieser Route in der App wird componentDidMount() aufgerufen. Beim erneuten Laden der Seite oder beim Kopieren und Einfügen der URL wird die Seite vollständig geladen, die Methode componentDidMount() wird jedoch überhaupt nicht aufgerufen.React-Router - ComponentDidMount nicht aufgerufen beim Navigieren zu URL

Von dem, was ich gelesen habe, ist der Grund, weil die gleiche Komponente montiert, obwohl die Seite neu geladen wird, weshalb die Lifecycle-Methode überhaupt abgefeuert wird.

Was sind einige Möglichkeiten, damit umzugehen? Ihre Hilfe wird gerne in Anspruch genommen. Vielen Dank!

Antwort

0

Ich versuche, Mixins zu vermeiden (siehe Wille TransitionTo), da sie als schädlich angesehen werden.

Obwohl componentDidMount nicht ausgelöst wird, wenn Routen für die gleiche Komponente geändert werden, tun dies componentWillUpdate und componentWillReceiveProps.

Von dort können Sie Parameteränderungen erkennen und Ihre Aktionen entsprechend auslösen.

0

Der componentWillReceiveProps, componentDidUpdate-Lebenszyklus wird die neuen Requisiten und dann setState, um den Status zu ändern, um Render-Methode auszulösen.