2 回答

TA貢獻1829條經驗 獲得超7個贊
要為您的案例添加一個實用示例來補充Artinium的答案,您可以使用 的 beforePopState 對會話歷史記錄導航的更改(后退/前進操作)采取行動,并確保它僅在離開當前頁面時發生。next/router
useEffect(() => {
router.beforePopState(({ as }) => {
if (as !== router.asPath) {
// Will run when leaving the current page; on back/forward actions
// Add your logic here, like toggling the modal state
}
return true;
});
return () => {
router.beforePopState(() => true);
};
}, [router]); // Add any state variables to dependencies array if needed.

TA貢獻1815條經驗 獲得超10個贊
@Summy 我希望您的問題現在得到解決。如果沒有,你可以試試瀏覽器后退按鈕:- 下一步.js + React 返回上一頁 如果你想使用hashbang URL,你不能使用SSR,因為/#和/#/one是相同的路由服務器端,所以服務器沒有辦法知道要渲染什么,它需要發送一個基本的模板,讓客戶端填寫它, 在這種情況下,我認為將CRA或Parcel與React Router及其HashRouter一起使用是一個更好的選擇,這樣你就可以擁有一個索引.html并讓客戶端決定渲染什么。
添加回答
舉報