Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

162
Vistas
El módulo React CSS no funciona en ciertos selectores

Estoy aprendiendo React como principiante. Estoy trabajando con módulos CSS.

Menu.module.css no funciona al 100%, no aplica estilos para .menu a.last selector y no sé por qué (funciona perfectamente para .menu a ). El problema persiste al usar módulos CSS, pero funciona según lo previsto con CSS simple.

Menú.jsx

 import styles from './Menu.module.css' export default function Menu({ className, items = [], children }) { return ( <div className={`menu ${styles.menu} ${className || ''}`}> {children ? <h2>{children}</h2> : ''} <ul> {items.map((item, i) => ( <li key={i}> <a href={item.href} className={item.className || ''} > {item.name} </a> </li> ))} </ul> </div> ) }

Menú.módulo.css

 .menu a { color: black; text-decoration: none; } .menu a.last { background: red !important; }

Imagen del código y HTML: https://ibb.co/r5m6W7s

Puedo obtener el elemento a.last a través de la consola usando el mismo querySelector que usa el archivo CSS, por lo que esto me lleva a pensar que hay un problema lógico o que los selectores de Módulos CSS funcionan de manera diferente a CSS esta vez.

Supongo que es un problema muy fácil de resolver, pero no puedo conseguirlo. Gracias por tu ayuda.

Cambié de nuevo a CSS simple para verificar si funcionaría y sí, funcionó.

Intenté hacerlo nuevamente desde cero con módulos CSS pero resultó en el mismo problema.

Intenté cambiar los nombres de clase incluso usando una clase simple (no generada aleatoriamente por el compilador de Módulos CSS) y usé este nombre de clase simple para verificar y no funcionó mientras seguía trabajando con el archivo .module.css.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Diría que deberías usar className={styles[item.className] || ''} .

item.className no se referirá al módulo CSS.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Resuelto por cheesyMan : no consideré que TODOS los nombres de clase en el archivo CSS cambiaron sus nombres después de usar módulos CSS. Solo estaba usando el selector de módulo .menu CSS pero no el selector/propiedad del módulo .last CSS. El código se ejecutaba como .menu_random123 a.last (incorrecto) mientras que para funcionar necesitaba .menu_random123 a.last_random123 . Fue muy difícil notarlo porque el elemento principal pasaba la última clase.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda