2016-09-27 33 views
11

Ich habe einen Fall: Benutzer öffnet einen Aktivierungslink. Nachdem der Benutzer seinen Aktivierungsprozess ausgeführt hat, wird das System ihn auf eine andere Seite verschieben. Ich möchte die Aktivierungs-URL nicht im Browser behalten und verhindern, dass der Benutzer zurückgeht - Aktivierungsschritt.React-Router: URL ändern und Verlauf löschen

Wie kann ich diesen Fall bekommen?

Danke,

+0

Schließlich kann ich von diesen Aussagen umgehen: history.replaceState ({}, document.title, url); props.router.replace (URL); – user3468795

Antwort

6

In reactJS sollten Sie browserHistory für diesen Zweck verwenden. Dies kümmert sich um Ihre Geschichten und Sie müssen diese Funktionen nicht selbst implementieren.

browserHistory hat 2 Methoden push() und replace(), die die gleichen Funktionen wie @fazal in seiner Antwort erwähnt, aber auf eine bessere Weise.

Also, wenn Sie Benutzer zurück zum vorherigen Zustand vermeiden möchten würden Sie browserHistory().replace

starten verwenden müssen, damit in Ihren Code importieren: -

import {browserHistory} from 'react-router' 

Nach Benutzern aktivieren Sie folgendermaßen vor: -

browserHistory.replace(//your new link) 
+0

Hallo, Ich habe diesen Weg versucht, kann ich immer noch nicht URL im Browser neu schreiben. (Ich weiß, dass das Ändern der URL kein allgemeines Verhalten der SPA-App ist.) – user3468795

Verwandte Themen