joh*_*bab 5 javascript reactjs react-hooks
我试图在用户关闭选项卡时使用以下代码打开一个弹出窗口:
useEffect(() => {
window.addEventListener('beforeunload',handleUnload );
return () => {
window.removeEventListener('beforeunload', handleUnload);
}
}, []);
const handleUnload = (e) => {
e.preventDefault();
console.log('hey')
alert("HEY");
}
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以做到这一点,或者有什么方法可以纠正代码。目前我正在尝试提醒用户。
小智 0
欢迎来到SO!
我认为您无意中使用{}.
尝试这个:
useEffect(() => {
window.addEventListener("beforeunload", handleUnload);
return () => window.removeEventListener("beforeunload", handleUnload);
}, [handleUnload]);
Run Code Online (Sandbox Code Playgroud)
我已添加[handleUnload]到 useEffect 的第二个属性,以防止它在每次状态更改时添加和删除事件侦听器。