2017-12-26 35 views
0

Ich lese ganze Reihe von Posts über withRouter hilft mit Umleitung, aber für meinen Fall funktioniert es nicht. Wenn ich auf Logout-Link ckick soll ich außerhalb der Hauptanwendung umgeleitet werden (weil wir für die Authentifizierung externer Anwendung), aber nicht umleiten mitReact-router-dom Umleitung funktioniert nicht mit withRouter HOC (react-redux)

export default withRouter(connect(mapStateToProps, MapDispatchToProps)(Logout)) 

oder Link oder einem mit href erforderlich url, auch Fenster. Standort wird nicht von meiner gerenderten Konto-Komponente umgeleitet. Und es wirft keine Fehler in der Konsole auf. Es wird sogar nicht in der Browser-Historie angezeigt. Es blinkt nur auf der Account-Seite und das ist alles. Also, wie kann ich Benutzer von meiner Anwendung auf eine andere externe Seite über react-Dom-Router umleiten?

Antwort

3

react-router-dom ist ein Paket, mit dem Sie Routen innerhalb Ihres SPA (Single Page Application) erstellen können. Um auf eine externe Website zu weitergeleitet haben Sie zwei Möglichkeiten:

window.location.replace("http://stackoverflow.com"); 
window.location.href = "http://stackoverflow.com"; 

Die erste wird das Verhalten eines HTTP-Request simulieren, während die zweite das Verhalten von Klick auf einen Link simulieren.

+0

Es scheint, dass dies die einzige funktionierende Lösung ist. Vielen Dank. –

+0

Also sollte ich eine dieser Optionen in ComponentWillUpdate oder an einem anderen Ort verwenden? –

+0

Sie können sie überall verwenden, da sie einfach JS sind. Fügen Sie sie einfach in die Funktion ein, die den Klick auf den Logout-Button übernimmt. –

Verwandte Themen