I try to detect browser or tab is closed. What is the best way run one function all over the big application?
window.onbeforeunload = function () {
return "Do you want to close?";
};
you can use react hook and implement it in your App.js .I call it useBeforeUnload :D
import { useEffect } from 'react'
const useBeforeUnload = (
value: ((evt: BeforeUnloadEvent) => any) | string
) => {
const handleBeforeunload = (evt: BeforeUnloadEvent) => {
let returnValue
if (typeof value === 'function') {
returnValue = value(evt)
} else {
returnValue = value
}
if (returnValue) {
evt.preventDefault()
evt.returnValue = returnValue
}
return returnValue
}
useEffect(() => {
window.addEventListener('beforeunload', handleBeforeunload)
return () => window.removeEventListener('beforeunload', handleBeforeunload)
}, [])
}
export default useBeforeUnload
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.