Simple react useClickAway hook, which listens for clicks outside the element.
npm i simple-react-clickaway
Import hook
import {useClickAway} from 'simple-react-clickaway';And use it like:
const {disable, enable} = useClickAway(ref, onClickAway);Here is a simple example of detecting a click outside a modal window:
import "./styles.css";
import { useClickAway } from "simple-react-clickaway";
import { useRef } from "react";
export default function App() {
  const modalRef = useRef();
  const handleClickAway = () => {
    alert("You clicked away!");
  };
  const { disable, enable } = useClickAway(modalRef, handleClickAway);
  return (
    <div className="App">
      <div className="modal" ref={modalRef}>
        <button onClick={disable}>Disable click away</button>
        <button onClick={enable}>Enable click away</button>
      </div>
    </div>
  );
}