¡No te pierdas las próximas publicaciones!

thumbnail

Te puedes desuscribir en cualquier momento.

cover

Construye tu propio useOutsideClick


Mira el video si prefieres:

import { type RefObject, useEffect, useRef } from "react"; export const useOutsideClick = <T extends HTMLElement>({ isActive = true, onClickOutside, onClickInside, }: { isActive?: boolean; onClickInside?: (e: MouseEvent) => void; onClickOutside?: (e: MouseEvent) => void; }): RefObject<T> => { const ref = useRef<T>(null); useEffect(() => { if (!isActive) return; const handleClick = (event: MouseEvent) => { ref.current?.contains(event.target as Node) // 🪄 ? onClickInside?.(event) : onClickOutside?.(event); }; document.addEventListener("click", handleClick); return () => document.removeEventListener("click", handleClick); // eslint-disable-next-line react-hooks/exhaustive-deps }, [isActive]); return ref; };
meta cover

5 tecnologías chidas pero muertas

Checa este otro Post

meta cover

3 Reglas que debes recordar para crear componentes React realmente reutilizables.

Checa este otro Post

¡Nuevo curso!

Animaciones web con React + Motion 🧙🏻