1
我們正在開發一個接口,我們使用React和Mobx。 我們有一個組件與 鏈接和代碼發送到用戶的電子郵件激活用戶帳戶:IE 11上的React重新渲染
https://mysite/activate?Code=6bgoh9n0uk7a84lc3s9e2lso5j
在我們調用後臺驗證組件的代碼是有效的,並激活用戶。 如果有效,後端將返回用戶和他的令牌。 此標記存儲在localStorage的,然後我們重定向到主儀表盤:
axios.get(`/user/activate/${code}`)
.then(action(response => {
window.localStorage.setItem("myToken", JSON.stringify(response.data));
window.location.href = "/dashboard";
}))
.catch(action(error => {
console.log(error);
}));
在Chrome和Mozilla Firefox瀏覽器重定向是成功的,但在IE 11和組件再次呈現邊瀏覽器,這將導致代碼要在後臺進行檢查,我們在屏幕上指出代碼不再有效。
我們做錯了什麼?
嘗試使用'history.pushState({}, '儀表盤', '/儀表板')',而不是'location.href =「/ dashboard'' – Freez
@Freez這僅僅在進行他們有客戶端路由。 – floriangosse
您可以發佈在「/ dashboard」路徑中呈現的組件/容器的代碼嗎?我很好奇,看看是否可能在IE/Edge中設置localStorage中的屬性有問題,並導致重定向回到分派axios的頁面。你可以用'console.log'來確認localStorage屬性myToken在IE和Edge中是否設置好? –