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

121
Visualizações
Primero haga clic en el botón de menú de navegación que da error y funciona bien después de eso ReactJs

Estoy tratando de hacer una barra de navegación para ocultar/mostrar en ReactJS. Pero en el primer clic recibo este error y funciona bien después del primer clic.

  • Nota: es dos veces y no tengo idea de por qué.

ingrese la descripción de la imagen aquí

Aquí está mi código y solo funciona (después del primer error) cuando

setMenu(!menu);

es antes

nav.classList.toggle("nav-abrir");

de lo contrario, el error sigue llegando.

 export default function Navbar() { const [menu, setMenu] = useState(true); const nav = document.querySelector("nav"); const openNav = () => { setMenu(!menu); nav.classList.toggle("nav-open"); }; return ( <nav id="nav-wrapper"> <header className="nav-header"> <div className="arrow-btn" onClick={() => { openNav(); }} > {menu ? ( <Icon.HiChevronDoubleLeft size={20} className="arrows" /> ) : ( <Icon.HiChevronDoubleRight size={20} className="arrows" /> )} </div> <img src={Profiledp} alt="." /> <p className="name">Naman Pokhriyal</p> </header> </nav>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Esta no es la forma correcta de hacer esto en React en primer lugar. Ya está usando el valor de estado del menu para determinar si el menú está abierto o no, entonces, ¿por qué no continuar usando el valor de estado del menu para determinar si el menú está abierto o no? Algo como esto:

 const openNav = () => { setMenu(!menu); }; return ( <nav id="nav-wrapper" className={menu ? "nav-open" : ""}> // etc. );

Básicamente, cada vez que intente manipular directamente el DOM en React, dé un paso atrás e intente encontrar una manera de administrarlo a través del estado. La manipulación directa de DOM en React casi siempre conduce a errores a menos que realmente sepa lo que está haciendo bajo el capó en el marco.

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