2017-10-15 10 views
3

私はいつもヒストリスタックに何もプッシュしないhistory.replaceを常に使用しています。プッシュしてからログアウトすると、ブラウザのバック矢印を使って前のルートに戻ってきて、私はそれを望んでいないので、私はこれをやっています。履歴を操作して、ログアウトが押されたときに履歴スタックに戻ってくることがないようにするにはどうすればいいですか?BrowserRouterを使用して、ログアウト時に履歴をクリアするには

答えて

1

反応ルータを使用してはいけないので、これを行うことはできません。ユーザーがログアウトして、見てはならないページに戻ると、代わりに403エラーページを表示することをお勧めします。ユーザーがページにアクセスする権限を持っていないというメッセージを表示することができます。これは、ブラウザの履歴を削除するのが悪いUXなので、ほとんどのウェブサイトがやっていることです。

例:hereの403ページがあります。

実際に履歴を消去したい場合は、.replaceを引き続き使用できますが、ユーザーがまだログインしていて戻ってもらいたい場合は、そのユーザーはできません。サイトのURLで新しいタブを開き、現在のタブを閉じることもできますが、そのようにすることはお勧めしません。

関連する問題