mirror of
https://github.com/koreanbots/core.git
synced 2025-12-15 06:10:22 +00:00
20 lines
418 B
TypeScript
20 lines
418 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
|