在React 中如何做到拦截用户操作
用户刷新,关闭当前tab页,关闭浏览器触发以下事件
需要注意的是,这个事件监听,需要用户在浏览器有操作,否则不会生效
useEffect(() => {
const listener = (ev: any) => {
ev.preventDefault();
ev.returnValue = '离开咯';
};
window.addEventListener('beforeunload', listener);
return () => {
window.removeEventListener('beforeunload', listener);
};
}, []);
后退,点击菜单,前进
<Prompt when={needPrevent} message={() => t('prevent_user_router')} />