Spaces:
Paused
Paused
import { useEffect, useState } from "react"; | |
const UseOutsideRef = (ref: any) => { | |
const [isOutsideRef, setIsOutsideRef] = useState(false); | |
useEffect(() => { | |
function handleClickOutside(event: any) { | |
if (ref.current && !ref.current.contains(event.target)) { | |
setIsOutsideRef(true); | |
setTimeout(() => { | |
setIsOutsideRef(false); | |
}, 200); | |
} | |
} | |
document.addEventListener("mousedown", handleClickOutside); | |
return () => { | |
document.removeEventListener("mousedown", handleClickOutside); | |
}; | |
}, [ref]); | |
return { isOutsideRef }; | |
}; | |
export default UseOutsideRef; | |