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

125
Vistas
Agregar atributos de estilo a una clase css dinámicamente en la aplicación reaccionar

Estoy usando webpack con css-loader para cargar mis estilos css y agregarlos a los componentes de React.

 import styles from '../styles/cell.css'; .cell { border-radius: 50%; background-color: white; } <div className={styles.cell} />

Estoy calculando el alto/ancho de la celda dinámicamente. Aquí describen cómo agregar estilos a los componentes de forma dinámica, pero preferiría hacerlo sin el atributo de estilo.

Intenté hacer esto en uno de los componentes principales pensando que podría alterar la clase css, pero eso no pareció funcionar.

 import cell_styles from '../styles/cell.css'; cell_styles.width = this.cellSize + 'px' cell_styles.height = this.cellSize + 'px'

¿Algún comentario sobre la mejor manera de hacer esto?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede probar las propiedades personalizadas de CSS en las propiedades de CSS que son dinámicas (por ejemplo, ancho y alto):

 // cell.css .cell { width: var(--width); height: var(--height); }

Luego, puede proporcionar los valores de las variables CSS en un contenedor principal (las variables CSS también caen en cascada):

 <div style={{ '--width': `${something}px`, '--height': `${something}px` }}> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> </div>

Trátelo como un "parámetro/accesorios CSS" que se transmite a los niños.

Una cosa buena de este enfoque es que evita actualizar y volver a renderizar los componentes secundarios.

over 4 years ago · Santiago Trujillo Denunciar

0

Debería usar el atributo de estilo, ese es el propósito.

 import classLevelStyles from '../styles/cell.css'; const style = { width: this.calcWidth() + 'px', height: this.calcHeight() + 'px', }; <div className={classLevelStyles} style={style} />
over 4 years ago · Santiago Trujillo 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