Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
4810 stevensc 1
import { useEffect, useState } from 'react'
2
 
3
const useOutsideClick = (ref) => {
6618 stevensc 4
  const [clickOutside, setClickOutside] = useState(false)
4810 stevensc 5
 
6618 stevensc 6
  useEffect(() => {
7
    const handleClickOutside = (event) => {
8
      if (ref?.current && !ref.current.contains(event.target)) {
9
        setClickOutside(true)
10
      }
11
      setClickOutside(false)
12
    }
13
    document.addEventListener('mousedown', handleClickOutside)
4810 stevensc 14
 
6618 stevensc 15
    return () => {
16
      document.removeEventListener('mousedown', handleClickOutside)
17
    }
18
  }, [ref])
4810 stevensc 19
 
6618 stevensc 20
  return clickOutside
4810 stevensc 21
}
22
 
6618 stevensc 23
export default useOutsideClick