728x90
반응형

useBeforeLeave

탭을 닫을 때 실행되는 function 생성하기

구체적으로는 마우스의 위치를 확인해서 마우스가 탭쪽으로 갔을때 실행되는 함수임

 

useBeforeLeave 예시

마우스를 상단 탭 위로 가져가면 사진의 콘솔 메시지가 뜸

const useBeforeLeave = (onBefore) => {
  if (typeof onBefore !== "function") {
    return;
  }
  const handle = (event) => {
    const { clientY } = event;
    if (clientY <= 0) {
      onBefore();
    }
  };
  useEffect(() => {
    document.addEventListener("mouseleave", handle);
    return () => document.removeEventListener("mouseleave", handle);
  }, []);
};

const App = () => {
  const begForLife = () => console.log("Pls don't leave");
  useBeforeLeave(begForLife);

  return (
    <div className="App">
      <h1>Hello</h1>
    </div>
  );
};

 

반응형

'프로그래밍 > React' 카테고리의 다른 글

[React] React Hooks (8) - useScroll  (0) 2023.02.03
[React] React Hooks (7) - useFadeIn  (0) 2023.02.02
[React] React Hooks (5) - useRef  (2) 2023.01.31
[React] React Hooks (4.1) - useEffect 활용법  (0) 2023.01.30
[React] useEffect  (0) 2023.01.27
복사했습니다!