2017-01-06 7 views
0

Я использую webpack с css-загрузчиком для загрузки стилей css и добавления их в компоненты React.Добавление атрибутов стиля в класс css динамически в приложении для реагирования

import styles from '../styles/cell.css'; 

.cell { 
    border-radius: 50%; 
    background-color: white; 
} 

<div className={styles.cell} /> 

Я вычисляю высоту/ширину ячейки динамически. Here описывается, как динамически добавлять стили в компоненты, но я бы предпочел сделать это без атрибута стиля.

Я попытался сделать это в одном из родительских компонентов, думая, что он может изменить класс css, но это, похоже, не работает.

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

Любые отзывы о том, как лучше всего это сделать?

ответ

2

Вы должны использовать атрибут стиля, который является его целью.

import classLevelStyles from '../styles/cell.css'; 

const style = { 
    width: this.calcWidth() + 'px', 
    height: this.calcHeight() + 'px', 
}; 

<div className={classLevelStyles} style={style} /> 
+1

Было любопытно, был ли другой способ. В любом случае это сработало для меня. Хотелось бы отметить, что свойство элемента является «стилем» (а не «стилями»). Спасибо. –

+0

goodpick up, typo и отредактированный – Chris