mirror of
https://github.com/koreanbots/core.git
synced 2025-12-15 14:10:22 +00:00
19 lines
417 B
TypeScript
19 lines
417 B
TypeScript
import { RefObject, useEffect } from 'react'
|
|
|
|
const useOutsideClick = (ref: RefObject<HTMLElement>, callback: () => void) => {
|
|
const handleClick = (e) => {
|
|
if (ref.current && !ref.current.contains(e.target)) {
|
|
callback()
|
|
}
|
|
}
|
|
|
|
useEffect(() => {
|
|
document.addEventListener('click', handleClick)
|
|
|
|
return () => {
|
|
document.removeEventListener('click', handleClick)
|
|
}
|
|
})
|
|
}
|
|
|
|
export default useOutsideClick |