[英]How to use browser history with components?
假設我有以下代碼:
const [showChild1, setShowChild1] = useState(false)
const [showChild2, setShowChild2] = useState(false)
<ParentComponent>
{showChild1 && <Child1 />}
{showChild1 && <Child2 />}
....
</ParentComponent
假設我正在瀏覽器中查看Child2
,但我想返回 go 以查看Child1
。 如何使用瀏覽器的后退和前進按鈕在有條件呈現的組件之間導航? 截至目前,當我點擊后退按鈕時,我被推到了路徑/
。
可以在全局window object 添加事件監聽,事件名稱為“popstate”,代碼示例如下:
useEffect(() => {
window.history.pushState(null, null, window.location.pathname);
window.addEventListener('popstate', yourEvent);
return () => {
window.removeEventListener('popstate', yourEvent);
};
}, []);
使用 onpopstate 事件來處理瀏覽器導航選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.