2017-05-22 3 views
1

So verwende ich React Router v3. Sagen wir, ich gehe von Route A zu Route B. Dann drücke ich die Zurück-Taste, um wieder zu A zu wechseln, aber wie deaktiviere ich das Wechseln zu B, indem ich die Vorwärts-Taste drücke. Gehen zu B über eine Link in der Anwendung oder programmgesteuert ist in Ordnung. Aber ich möchte nicht, dass die Anwendung mit der Vorwärts-Taste des Browsers vorwärts gehen kann.Abbrechen der Vorwärts-Schaltfläche in React

Ich nehme an, es wird so etwas wie das Entfernen des letzten Elements des Routenstacks sein, aber ich kann nicht meinen Kopf drumherum bekommen. Jede Hilfe wird geschätzt.

+0

Mögliches Duplikat von [react-router: Wie bekomme ich die vorherige Route in onEnter handler?] (Https://stackoverflow.com/questions/36654475/reac-router-how-to-get-the-previous-route -in-onenter-handler) Sehen Sie, ob Ihnen das hilft. – Chris

Antwort

0

Sie können diese Situation mit history.replaceState() Methode behandeln (oder einen ähnlichen Dispatcher, wenn Sie react-router-redux verwenden). Das größte Problem, das ich sehe, ist, einen Moment zu finden, in dem der Benutzer auf "Zurück" klickt.

Wie auch immer, meiner Meinung nach, wenn Sie gezwungen sind, nach solchen Workarounds zu suchen, ist wahrscheinlich etwas daran falsch, wie Ihre Anwendung funktioniert. Auf Routen sollte von jedem Ort aus zugegriffen werden können. Wenn der Benutzer autorisiert werden muss oder etwas Ähnliches, dann sollten Sie eine Schutzmethode in diese Route schreiben und den Benutzer (falls die Bedingungen nicht erfüllt sind) zu einer anderen Route umleiten.

Verwandte Themen