@jacob-hooks/use-before-leave
Version:
React Hook to execute a function when the mouse leaves the page. Useful to show a popup or for analytics.
21 lines (19 loc) • 544 B
JavaScript
// useBeforeLeave
import { useEffect } from 'react';
export const useBeforeLeave = (onBefore) => {
const handle = (e) => {
// clientY 마우스의 y 축의 위치 기준으로 0 보다 작은경우 함수 실행 (top 위치일때)
const { clientY } = e;
if (clientY <= 0) {
onBefore();
}
};
useEffect(() => {
document.addEventListener("mouseleave", handle);
// cleanUp
return () => document.removeEventListener("mouseleave", handle);
}, []);
if (typeof onBefore !== "function") {
return;
}
};