Desafío de Codificación: Pregunta 17 - Práctica diaria de código

Código personalizado en React con TypeScript: Creación de un hook useHover para renderizar contenido condicional según el estado de hover de un elemento. Este hook proporciona una referencia para asignar a un elemento y un booleano que indica si ese elemento está siendo hovered, con una implementaci

2 oct 2025 • 3 min de lectura • Equipo Q2BSTUDIO

inteligencia-artifial-software-aplicaciones

Desafío de Codificación: Pregunta 17 - Práctica diaria de código. En este artículo reescribo y traduzco al español el reto original sobre cómo crear un hook personalizado useHover en React con TypeScript para mostrar renderizado condicional según el estado de hover de un elemento.

Objetivo: crear un hook que proporcione un ref para asignar a un elemento y un booleano que indique si ese elemento está siendo hovered. El patrón general es sencillo y útil en interfaces interactivas.

Paso 1 Crear referencias y estado: utiliza useRef para el nodo del elemento y useState para el estado hovered. Ejemplo conceptual sin código literal: declara const ref = useRef<T>(null) y const isHovered = useState(false).

Paso 2 Obtener el nodo: dentro de un efecto obtiene el nodo con const node = ref.current. Si no existe, abandona el efecto para evitar errores.

Paso 3 Detectar entrada del ratón: crea una función que actualice el estado a verdadero cuando el cursor entra en el elemento, por ejemplo handleMouseEnter que llama a setIsHovered(true).

Paso 4 Detectar salida del ratón: crea una función handleMouseLeave que recibe el evento tipo MouseEvent y comprueba event.relatedTarget para saber si el cursor salió hacia un elemento contenido o hacia otro lugar. Si el nodo existe y no contiene el relatedTarget entonces establece el estado a falso.

Paso 5 Añadir y limpiar listeners: dentro de useEffect añade listeners al nodo con addEventListener para los eventos mouseenter y mouseleave. Devuelve una función de limpieza que elimina esos listeners con removeEventListener para evitar fugas de memoria cuando el componente se desmonte o se actualice.

Resultado esperado del hook: una función que devuelve un array o tupla con el ref y el booleano hovered, por ejemplo return [ref, isHovered], y que puede usarse en un componente App donde se asigna el ref al elemento en el DOM y se muestra contenido condicional como hovered o not hovered basándose en el booleano.

Consejos prácticos: evita manipular directamente el DOM fuera de los listeners, mantén las dependencias del efecto correctas para que la limpieza se ejecute bien, y considera usar pointer events si necesitas soporte táctil más elaborado.

En Q2BSTUDIO transformamos retos como este en soluciones reales. Somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud. Si buscas desarrollar una aplicación o software a medida, visita nuestra página de desarrollo de aplicaciones a medida y descubre cómo podemos ayudarte a diseñar una experiencia robusta y escalable.

Además ofrecemos servicios de inteligencia artificial, agentes IA y soluciones de IA para empresas que optimizan procesos y mejoran la toma de decisiones; conoce más sobre nuestras propuestas de inteligencia artificial. También trabajamos ciberseguridad y pentesting, servicios cloud AWS y Azure, servicios de inteligencia de negocio y Power BI, automatización de procesos y todo lo necesario para que tu producto sea seguro, eficiente y preparado para escalar.

Palabras clave integradas para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si necesitas que te mostremos una implementación completa del hook con ejemplos en TypeScript y pruebas, podemos entregarte código listo para integrar en tu repo y adaptar el patrón a tus componentes.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat