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

326
Visualizações
Cierre del menú móvil después del final de la transición

Tengo un problema con React. Me gustaría que mi menú móvil se cierre solo después del final de la transición en mi último tramo del div Hover-Clone.

Logré hacer algo, pero cada segundo que vuelvo a abrir el menú, se cierra automáticamente.

No entiendo como puedo hacer que funcione? ¿Debo usar useTransition, useRef, useHook?

Encabezado.jsx

 const [isActive, setIsActive] = useState(false); const showNavBar = () => { setIsActive(!isActive); }; const spanEnd = document.querySelectorAll('.end'); spanEnd.forEach(l => { if (isActive === true) { l.addEventListener('transitionend', () => { showNavBar(); }); } }); <nav className={isActive ? Style.navBarMobile : Style.navBar}> <ul className={Style.navBarList}> <li className={Style.navBarListItem}> <NavLink className={Style.navBarListLink} to='/a_propos'> <div className={Style.original}> <span>à</span> <span>&nbsp;</span> <span>p</span> <span>r</span> <span>o</span> <span>p</span> <span>o</span> <span>s</span> </div> <div className={Style.hoverClone}> <span>à</span> <span>&nbsp;</span> <span>p</span> <span>r</span> <span>o</span> <span>p</span> <span>o</span> <span className='end'>s</span> </div> </NavLink> </li>

Saludos cordiales

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Descargo de responsabilidad: no soy una bestia reactiva

Su método showNavBar en realidad no muestra la barra de navegación, sino que la alterna. Si está cerrado, lo abrirá, si está abierto, lo cerrará.

  • Si quieres eso, probablemente deberías cambiar el nombre de tu método para mayor claridad ( toggleNavBar )
  • Si realmente quiere que haga lo que dice (lo cual es mi suposición), debe actualizar el contenido con setIsActive(true) en su lugar

Pruebe la segunda opción y vea qué sucede.

editar De hecho, probablemente aún necesite la opción de alternar para el botón abrir/cerrar

Entonces podrías hacer

 const ToggleNavBar = (to = null) => { const end_state = to === null ? !isActive : to setIsActive(end_state); };

luego úsalo para tu botón como

 // ... onClick={toggleNavBar} // ...

Y para tu ciclo de lapso

 //... toggleNavBar(true) //...
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