diff --git a/src/usePageLeave.ts b/src/usePageLeave.ts index a86f6e6c..9a69a660 100644 --- a/src/usePageLeave.ts +++ b/src/usePageLeave.ts @@ -2,18 +2,18 @@ import {useEffect} from 'react'; const usePageLeave = (onPageLeave, args = []) => { useEffect(() => { - if (onPageLeave) { - const handler = (event) => { - event = event ? event : (window.event as any); - const from = event.relatedTarget || event.toElement; - if (!from || (from as any).nodeName === 'HTML') onPageLeave(); - }; + if (!onPageLeave) return; - document.addEventListener('mouseout', handler); - return () => { - document.removeEventListener('mouseout', handler); - }; - } + const handler = (event) => { + event = event ? event : (window.event as any); + const from = event.relatedTarget || event.toElement; + if (!from || (from as any).nodeName === 'HTML') onPageLeave(); + }; + + document.addEventListener('mouseout', handler); + return () => { + document.removeEventListener('mouseout', handler); + }; }, args); };