Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

838
Views
Reaccionar onMouseEnter y onMouseLeave error, no funciona de manera consistente

Tengo problemas con React onMouseEnter y onMouseLeave , a veces los eventos no se activan cuando deberían

Estoy usando onMouseEnter y onMouseLeave para mostrar/ocultar un panel de información sobre herramientas de React Portal Modal:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

la cuestión:

si el cursor del mouse pasa lentamente sobre las imágenes, onMouseEnter y onMouseLeave funcionan como se esperaba, pero si el cursor del mouse pasa sobre la imagen rápidamente (horizontalmente), el código se rompe y se muestran varios paneles de información sobre herramientas (porque onMouseLeave no se activó)

aquí está el enlace del video que muestra el problema: https://www.veed.io/view/7669d6c4-6b18-4251-b3be-a3fde8a53d54?sharingWidget=true

aquí está el enlace de codesandbox para el error que mencioné: https://codesandbox.io/s/epic-satoshi-rjk38e

cualquier ayuda es apreciada

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

La causa de los "eventos perdidos" no es que los detectores de eventos no se activen. El problema es que mezcla el código React, que opera en el DOM virtual, con el código JS "clásico", que opera en el DOM del navegador. Estos dos DOM no están sincronizados la mayor parte del tiempo, lo que provoca los contratiempos que ves.

Intente eliminar todo el código que accede directamente al DOM y opere solo en los componentes de React (es decir, en el DOM virtual).

Aquí hay un ejemplo simplificado de cómo implementar su información sobre herramientas en estilo React-only:

https://codesandbox.io/s/musing-villani-c0xv24?file=/src/App.js

about 4 years ago · Juan Pablo Isaza Report

0

Gran pregunta. Tuve un problema similar con uno de mis componentes y la gestión del estado global. Después de mirar su código, parece que debe agregar los eventos onFocus y onBlur .

Ejemplo

 <div onMouseOver={() => handleEnter()} onMouseOut={() => handleExit()} >

se convierte

 <div onMouseOver={() => handleEnter()} onFocus={() => handleEnter()} onMouseOut={() => handleExit()} onBlur={() => handleExit()} >

Esto también resuelve el problema de que el móvil no tenga el mismo estado del mouse.

¡Espero que esto ayude a la codificación feliz!

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!