Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4811 | Ir a la última revisión | 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