Reagieren-router: Ändern Sie die URL und den Verlauf
Ich habe Folgendes Szenario:
Öffnet ein Benutzer ein Aktivierungs-link; nachdem der Benutzer beendet hat, die Aktivierung, das system leitet Sie zu einer anderen Seite.
Ich möchte nicht den Aktivierungs-link in der browser-Geschichte, weil, wenn der Benutzer geht zurück, Sie wird mit der Aktivierung Schritt wieder.
Wie Ersetze ich die Geschichte der browser zu entfernen, bestimmte Anfragen von meiner Bewerbung?
Endlich kann ich umgehen, indem Sie diese Anweisungen: Geschichte.replaceState({}, document.Titel, url); props.router.replace(url);
InformationsquelleAutor Thu Quoc Nguyen | 2016-09-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
In reactJS, die Sie verwenden sollten
browserHistory
für diesen Zweck. Diese kümmert sich um Sie Geschichten und Sie brauchen nicht, um diese Funktionen auf Ihrem eigenen.browserHistory hat 2 Methoden
push()
undreplace()
welche die gleichen Funktionen wie @fazal erwähnt in seiner Antwort aber in einer besseren Art und Weise.Also, wenn Sie wollen vermeiden, dass Benutzer zurück zum vorherigen Zustand müssten Sie
browserHistory().replace
Beginnen Sie mit dem Import in code:-
Nachdem der Benutzer aktiviert hat, tun Sie Folgendes:-
TypeError: Cannot read property 'ersetzen' undefined
Update: Wie zu reagieren-router v4 wird das nicht funktionieren. Link: github.com/ReactTraining/react-router/issues/4732
InformationsquelleAutor Harkirat Saluja
HTML5-history-API bieten zwei Methoden, um
Adding and modifying history entries
.pushState()
: zurück Zustand erhaltenreplaceState()
: keine Zustand zurückVorausgesetzt, Sie verwenden
react-router
.Also, auf der die Komponente verwenden
Lesen Sie mehr: https://developer.mozilla.org/en-US/docs/Web/API/History_API
video: https://www.youtube.com/watch?v=1iAG6h9ff5s&index=6&list=PLoYCgNOIyGABj2GQSlDRjgvXtqfDxKm5b
InformationsquelleAutor Fazal Rasel
oder
InformationsquelleAutor Ilya Rogatkin