2017-10-15 103 views
3

現在我總是使用history.replace,它從不推送歷史堆棧上的任何東西。我這樣做是因爲如果我推送然後註銷,我的應用程序允許使用瀏覽器後退箭頭返回到以前的路線,我不想這樣做。我如何操作歷史記錄,以便在按下注銷時,我無法返回歷史堆棧中的任何內容。使用BrowserRouter,我怎樣才能清除註銷的歷史記錄

回答

1

你不能這樣做與反應路由器,因爲你不應該這樣做。如果用戶註銷並返回到他/她不應該看到的頁面,一個好習慣是顯示403錯誤頁面。您可能會顯示一條消息,指出用戶沒有訪問該頁面的權限。這是大多數網站正在做的事情,因爲它是不好的UX刪除瀏覽器的歷史。

你可以找到一些403頁的例子here

如果您因爲某個原因想要清除歷史記錄,可以繼續使用.replace,但是如果用戶仍然登錄並且想要返回,他/她將無法使用。您也可以使用您的網站網址打開一個新標籤並關閉當前標籤,但我不建議這樣做。