2017-05-22 8 views
1

React Router v3を使用しています。私はルートAからルートBに行くといいます。その後、戻るボタンを押すとAに戻ることができますが、フォワードボタンを押してBに再び行くことはできません。アプリケーションに経由でBに行くか、プログラムで正常に動作します。しかし、私はアプリケーションがブラウザの進むボタンを使って進むことを望んでいません。Reactでgo forwardボタンをキャンセルする

私はそれがルートスタックの最後の要素を取り除くようなものだと思っていますが、私はその周りに頭を浮かべているようです。どんな助けもありがとう。

+0

[react-router:onEnterハンドラで以前のルートを取得する方法は?](https://stackoverflow.com/questions/36654475/react-router-how-to-get-the-previous-route) -in-onenter-handler)それが役立つかどうかを確認してください。 – Chris

答えて

0

history.replaceState()メソッド(または同様のディスパッチャ(使用する場合はreact-router-redux))を使用してこの状況を処理できます。私が見ている最も大きな問題は、ユーザーが「戻る」ボタンをクリックした瞬間を見つけることです。

とにかく、私の意見では、このような回避策を探す必要がある場合は、アプリケーションの動作に問題がある可能性があります。経路はどこからでもアクセスできる必要があります。ユーザーがこのような権限を必要とする場合は、そのルート内にいくつかのガード方法を記述し、条件が満たされていない場合にユーザーを他のルートにリダイレクトする必要があります。

関連する問題