Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

839
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda