- Published on
useOutsideClick Hook React

useOutsideClick Hook React
useOutsideClick Code and Usage
useOutsideClick is a hook to detect clicks outside a specific element.
import { useEffect } from "react";
const useOutsideClick = (ref, onClickOutside) => {
useEffect(() => {
const handleClick = (event) => {
if (ref.current && !ref.current.contains(event.target)) {
onClickOutside();
}
};
document.addEventListener("click", handleClick);
return () => {
document.removeEventListener("click", handleClick);
};
}, [ref, onClickOutside]);
};
// Usage
const OutsideClickExample = () => {
const handleClickOutside = () => {
console.log("Clicked outside the element.");
};
const targetRef = useRef();
useOutsideClick(targetRef, handleClickOutside);
return (
<div>
<div
ref={targetRef}
style={{ width: "100px", height: "100px", background: "lightgray" }}
>
Click Outside Me
</div>
</div>
);
};