react-emoji-selectors
Version:
Simple, ready to use, and customable react emoji selector component for every react project.
17 lines (15 loc) • 519 B
JavaScript
import React, { useEffect } from 'react';
export function useOnClickOutside(active, ref, callback) {
useEffect(() => {
function handleClickOutside(event) {
if (ref.current && !ref.current.contains(event.target) && active) {
callback();
}
} // Bind the event listener
document.addEventListener("mousedown", handleClickOutside);
return () => {
// Unbind the event listener on clean up
document.removeEventListener("mousedown", handleClickOutside);
};
}, [ref]);
}