- Published on
useClickAway Hook React

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