React-Router - componentDidMount wird beim Navigieren zu URL nicht aufgerufen

9

Ich bin ein bisschen ratlos. Ich habe eine Route namens classes/:id definiert. Wenn Sie in der App zu dieser Route navigieren, 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.

Von dem, was ich gelesen habe, liegt der Grund daran, dass dieselbe Komponente geladen wurde, obwohl die Seite neu geladen wurde, weshalb die Lifecycle-Methode jemals abgefeuert wird.

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

    
Anhtuan Duong 26.12.2015, 02:42
quelle

2 Antworten

0

Ich versuche, Mixins zu vermeiden (siehe "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 aus können Sie Parameteränderungen erkennen und Ihre Aktionen entsprechend auslösen.

    
greygatch 20.07.2016 20:03
quelle
0

Der Lebenszyklus von componentWillReceiveProps, componentDidUpdate empfängt die neuen Requisiten und setzt dann setState, um den Status zum Auslösen der Rendermethode zu ändern.

    
hulkyuan 17.11.2017 08:46
quelle

Tags und Links