if (new_path !== window.location.pathname window.location.search) {
history.replace({
pathname: new_path,
search: "",
});
}
編輯:
new_path只是一個字串。如果沒有 if 陳述句,上面的代碼會導致無限回圈。
這是預期的行為嗎?
uj5u.com熱心網友回復:
它只會導致無限回圈,如果
new_path與window.location.pathname window.location.search不同。
如果您想檢查其值,請嘗試在 chrome 開發人員工具上保留日志,然后啟動您的應用程式。這樣你就可以看到為什么它會生成一個無限回圈。
uj5u.com熱心網友回復:
如果 new_path 是您應用中的一個狀態,它應該在 {}
路徑名:{new_path}
uj5u.com熱心網友回復:
“如果”條件是錯誤的。
if (new_path !== window.location.pathname window.location.search) {}
這將永遠正確,history.replace并將再次運行。
所以解決方案是
if (new_path[<your key>] !== window.location[<your key>]) {}
如果您打算成為new_path字串,則需要檢查new_path值是什么
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431081.html
標籤:javascript 反应 网址 前端
上一篇:CSS
