如何使用反应挂钩设置离开警告?
How to set a leaving warning with react hooks?
我正在做一个需要显示进度的应用,如果你打回去就会丢失
我确实使用了 useEffect 钩子:
useEffect(() => {
return () => {
showWarning();
}
}, [])
我可以使用哪个函数来停止此返回操作,以便显示我的警告并确认?
如果您使用 react-router
,您可以 Prompt
来处理这种行为。您在这里有更多信息:https://reactrouter.com/core/api/Prompt
“我可以使用哪个函数来停止此后退操作”如果您的意思是要阻止浏览器完成其操作,那么这不是设计应用程序的方式,使用 return 语句的 useEffect 是用于清理工作而不是用于安装另一个组件或显示消息
您可以改为使用 onbeforeunload
事件并清理应用 unmount
上的处理程序,但它会显示一个弹出窗口,其中包含无法更改的默认消息
useEffect(() => {
function showWarning() {
return '';
}
window.addEventListener('beforeunload', showWarning);
return () => {
window.removeEventListener('beforeunload', showWarning);
}
})
我正在做一个需要显示进度的应用,如果你打回去就会丢失
我确实使用了 useEffect 钩子:
useEffect(() => {
return () => {
showWarning();
}
}, [])
我可以使用哪个函数来停止此返回操作,以便显示我的警告并确认?
如果您使用 react-router
,您可以 Prompt
来处理这种行为。您在这里有更多信息:https://reactrouter.com/core/api/Prompt
“我可以使用哪个函数来停止此后退操作”如果您的意思是要阻止浏览器完成其操作,那么这不是设计应用程序的方式,使用 return 语句的 useEffect 是用于清理工作而不是用于安装另一个组件或显示消息
您可以改为使用 onbeforeunload
事件并清理应用 unmount
上的处理程序,但它会显示一个弹出窗口,其中包含无法更改的默认消息
useEffect(() => {
function showWarning() {
return '';
}
window.addEventListener('beforeunload', showWarning);
return () => {
window.removeEventListener('beforeunload', showWarning);
}
})