Ich habe eine Art von Assistenten, wo jeder Schritt seinen eigenen Weg hat. Wenn ein Benutzer jetzt eine direkte Verbindung zur Route des zweiten Schritts verwendet, möchte ich ihn zum ersten Schritt (mit browserHistory.replace) umleiten.Kann ich im React-Komponenten-Lebenszyklus eine Routenänderung ausführen?
Das Problem, dem ich gegenüberstehe, ist, dass ich nicht wirklich weiß, welche Stufe im Lebenszyklus der Komponenten es durchgeführt werden sollte. Ich habe versucht, constructor
, render
, componentWillMount
, aber alle diese nicht verhindern, dass die Komponente Rendering auch wenn ich Router verwende. Was passiert, ist, dass Redirect auftritt, aber die Komponente von der vorherigen Route immer noch rendert und fehlschlägt (offensichtlich keine Daten).
Gibt es eine "richtige" Art der Umleitung während der Komponenteninitialisierung (ich muss den Zustand überprüfen)? Oder gibt es einen anderen besseren Weg?
Der beste Weg wäre Umleitung auf dem Server, die vermutlich getroffen werden, wenn ein Benutzer auf eine direkte Verbindung geht. Ist das in Ihrem System möglich? Sie können Redirects auf dem Server mit 'react-router' abfangen und die entsprechende Antwort senden – Bojangles
Wenn ich die Umleitung auf dem Server mache, dann wird es in der Historie gespeichert und die Zurück-Schaltfläche wird eine Art Schleife sein, deshalb verwende ich ersetzen. Ich habe auch einen absolut ignoranten Server, der nur Dateien (SPA) dient. –