React history.push () aktualisiert die URL, navigiert sie jedoch nicht im Browser

8

Ich habe bis jetzt viele Dinge über react-router v4 und die npm history library gelesen, aber keine scheint mir zu helfen.

Mein Code funktioniert erwartungsgemäß bis zu dem Punkt, an dem er navigieren und eine einfache Umleitung ausführen sollte, wenn die URL mit der Methode history.push () geändert wird. Die URL ändert sich zur angegebenen Route, führt jedoch nicht die Umleitung beim Drücken der Schaltfläche aus. Danke im Vorraus, lern noch react-router ...

Ich möchte für den Button Push eine einfache Weiterleitung ohne {forceRefresh: true} durchführen, die dann die ganze Seite neu lädt.

%Vor%     
John 22.03.2017, 02:37
quelle

4 Antworten

4

Überprüfen Sie, ob Sie keine geschachtelten BrowserRouter-Tags haben.

Ich hatte dieses Problem bei react-router v4, aber ich habe es gelöst, nachdem ich die App so geändert hatte, dass nur der BrowserRouter auf der obersten Ebene ist, wie im folgenden Beispiel.

%Vor%     
Artur Carvalho 03.05.2017, 13:46
quelle
10

Sie sollten nicht auf v3 downgraden müssen, React-Router 4.0.0 ist vollständig in der Lage, die Anforderungen des OP zu erfüllen.

%Vor%

ist ein benutzerdefiniertes Verlaufsobjekt, daher sollten Sie <Router> verwenden, um es mit react-router anstelle von <BrowserRouter> zu synchronisieren, was ich angenommen habe.

Versuchen Sie es stattdessen:

%Vor%

Sobald Ihr benutzerdefiniertes Verlaufsobjekt über die Verlaufsrequisite des Routers übertragen wurde, sollte history.push an jeder beliebigen Stelle in Ihrer App wie erwartet funktionieren. (Sie könnten Ihr History-Objekt in eine History-Konfigurationsdatei einfügen und sie an Stellen importieren, an die Sie programmgesteuert routen möchten.)

Weitere Informationen finden Sie unter Router-Verlaufsobjekt reaktivieren

    
Tina Chen 08.04.2017 10:17
quelle
0

Ich habe das gleiche Problem.

Nach einigem Suchen habe ich dieses Reagieren-Router-Problem

gefunden

Ich habe derzeit den react-Router auf die v3 herabgestuft und verwende browserHistory aus dem react-router -Paket und es funktioniert gut.

    
ndufreche 23.03.2017 17:32
quelle
0

Für Router V4 funktionierte das für mich. @ Tinas Antwort funktionierte nicht für mich. Befolgen Sie diese Schritte, damit es funktioniert.

History.js

%Vor%

Als nächstes ActionClass.js

%Vor%     
Kermit_ice_tea 25.01.2018 10:03
quelle

Tags und Links