1.0.1 • Published 2 years ago

@jsnooks/use-before-leave v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

useBeforeLeave

  • 마우스가 위로 올라가서 페이지를 벗어날 때 onBefore 실행

실습예제

import React, { useEffect } from "react";

const useBeforeLeave = (onBefore) => {
  if (typeof onBefore !== "function") return;
  const handle = (e) => {
    const { clientY } = e;
    if (clientY <= 0) {
      onBefore();
    }
  };

  useEffect(() => {
    document.addEventListener("mouseleave", handle);

    return () => document.removeEventListener("mouseleave", handle);
  }, []);
};

const App = () => {
  const begForLife = () => console.log("Please don't leave");
  useBeforeLeave(begForLife);
  return (
    <div className="App">
      <h1>Hello</h1>
    </div>
  );
};

export default App;