2016-09-27 78 views
11

我有一個案例:用戶打開激活鏈接。用戶完成激活過程後,系統會將他移動到另一個頁面。我不想在瀏覽器上保留激活網址,並阻止用戶返回激活步驟。反應路由器:更改URL並清除歷史記錄

我該如何得到這種情況?

感謝,

+0

最後,我可以用這些語句解決: history.replaceState({},document.title時,URL); props.router.replace(url); – user3468795

回答

6

在reactJS你應該使用browserHistory用於此目的。這照顧你的歷史,你不需要自己實現這些功能。

瀏覽器歷史記錄有兩種方法push()replace(),它們的功能與@fazal在他的回答中提到的相同,但用更好的方式。

所以,如果你想避免用戶回到以前的狀態,你需要使用browserHistory().replace

開始將它導入到你的代碼: -

import {browserHistory} from 'react-router' 

用戶已經激活你以下後: -

browserHistory.replace(//your new link) 
+0

嗨, 我試過這種方式,我仍然無法在瀏覽器上重寫網址。 (我知道更改網址並不是SPA應用的常見行爲。) – user3468795