Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4811 | Ir a la última revisión | | 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) => {
4
    const [clickOutside, setClickOutside] = useState(false)
5
 
6
    useEffect(() => {
7
        const handleClickOutside = (event) => {
4849 stevensc 8
            if (ref?.current && !ref.current.contains(event.target)) {
4810 stevensc 9
                setClickOutside(true)
10
            }
4811 stevensc 11
            setClickOutside(false)
4810 stevensc 12
        }
13
        document.addEventListener("mousedown", handleClickOutside);
14
 
15
        return () => {
16
            document.removeEventListener("mousedown", handleClickOutside);
17
        };
18
    }, [ref])
19
 
20
    return clickOutside
21
}
22
 
23
export default useOutsideClick