Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4849 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import { useEffect, useState } from 'react'

const useOutsideClick = (ref) => {
  const [clickOutside, setClickOutside] = useState(false)

  useEffect(() => {
    const handleClickOutside = (event) => {
      if (ref?.current && !ref.current.contains(event.target)) {
        setClickOutside(true)
      }
      setClickOutside(false)
    }
    document.addEventListener('mousedown', handleClickOutside)

    return () => {
      document.removeEventListener('mousedown', handleClickOutside)
    }
  }, [ref])

  return clickOutside
}

export default useOutsideClick