Fichtelgard

Hook: ClickOutside

import { useEffect, useRef } from "react"; export const useClickOutside = (handler: () => void) => { let domNode = useRef(null); useEffect(() => { let clickHandler = (event: MouseEvent) => { if (domNode.current !== null) { if (!domNode.current.contains(event.target as Node)) { handler(); } } }; document.addEventListener("click", clickHandler); return () => { document.removeEventListener("click", clickHandler); }; }); return domNode; };