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

396
Visualizações
Declarar una clase de módulo CSS como variable en NextJS

Discúlpeme si olvido algo: esta es mi primera publicación en Stack Overflow.

El propósito de la función es abrir y cerrar mi menú de hamburguesas. Adjunté una instantánea del archivo JSX donde se encuentra este problema: NavbarLinks.jsx . Las líneas de código con las que estoy luchando son la 15 y la 18, donde intento declarar una clase de módulo CSS como una variable.

 const [navLinkOpen, navLinkToggle] = useState(false); const handleNavLinksToggle = () => { navLinkToggle(!navLinkOpen); }; const renderClasses = () => { let classes = {`${styles.navLinks}`}; if (navLinkOpen) { classes += {`${styles.active}`}; } return classes; };

Luego llamo a la clase devuelta dentro de la etiqueta ul en la línea 27.

 <ul className={renderClasses}>

He intentado varias variaciones de declarar esta clase como una variable, lo que les muestro aquí es solo mi último intento. Soy consciente de que el intento que estoy usando ha roto el código. - Soy bastante nuevo en JavaScript y en lugar de simplemente seguir las guías de YouTube, aprendo mejor probando las cosas yo mismo.

Intente responder la pregunta que tengo en lugar de sugerir un método alternativo, ¡simplemente porque solo quiero aprender más sobre esto! - pero si tiene métodos alternativos de lo que estoy tratando de lograr aquí, también me gustaría verlos.

También incluiré una instantánea del archivo del módulo CSS con el que estoy trabajando en caso de que pueda resultarle útil: NavbarLinksStyle.module.css

Gracias de antemano por cualquier ayuda, estaré disponible para responder cualquier pregunta.

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

0

ante todo felicidades por el post. Está muy bien explicado. El código que compartió parece estar bastante bien en general, pero por lo que puedo ver, le falta la ejecución de la función renderClasses .

 const [navLinkOpen, navLinkToggle] = useState(false); const handleNavLinksToggle = () => { navLinkToggle(!navLinkOpen); }; const renderClasses = () => { let classes = styles.navLinks; if (navLinkOpen) { classes += styles.active; } return classes; }; {...} <ul className={renderClasses()}> {...}

Además, puede lograr el mismo resultado usando una variable en lugar de una función:

 const renderClasses = `${styles.navLinks} ${navLinkOpen ? styles.active : ''}`;

EDITAR : También como señaló @Mina, debe deshacerse de las llaves en su función de renderizado.

about 4 years ago · Juan Pablo Isaza Relatório

0

En primer lugar, no debe declarar la variable de clases con corchetes.

 const renderClasses = () => { let classes = styles.navLinks if (navLinkOpen) { classes += styles.active } return classes; };
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