Модули Sass несколько классов изменения стилей не отражаются

#css #reactjs #sass #sass-modules

Вопрос:

Я думал, что понимаю, как работают модули, но, по-видимому, нет

У меня есть вложенные стили scss/sass, которые я пытаюсь применить к элементу, но когда я добавляю эти несколько стилей в свой элемент, он не использует ни один из стилей, в то время как другие элементы, которые используют только один класс, делают это. Появляются сгенерированные имена классов, но не фактический стиль, просто чтобы было понятно

scss

 .cell {  width: 22.5%;  display: flex;  justify-content: center;  flex-direction: column;  position: relative;   .iconColumn {  width: 10%;  } }  

jsx

 lt;div classname={`${styles.cell} ${styles.iconColumn}`}gt; // this styling doesn't appear  lt;IconButton  size="small"  onClick={() =gt; setOpen(!open)}gt;  {open ? lt;KeyboardArrowUpIcon /gt; : lt;KeyboardArrowDownIcon /gt;}  lt;/IconButtongt;  lt;/divgt;  lt;div className={styles.cell}gt; // this styling appears  lt;Typography component="div" varient="h3"gt;{row.label}lt;/Typographygt;  lt;/divgt; // ...  

как это отображается в веб-браузере

 lt;div classname="NonTablePricingTable_cell__3OzOv NonTablePricingTable_iconColumn__2e9YO"gt; // the one that doesn't add the styling as per the class  lt;div class="NonTablePricingTable_cell__3OzOv"gt; // does add styling as per the class   

Ответ №1:

У вас опечатка в className атрибуте. Это должно быть в случае верблюда, и вы использовали небольшой футляр.

Изменение classname={`${styles.cell} ${styles.iconColumn}`} на className={`${styles.cell} ${styles.iconColumn}`} должно устранить проблему.

Комментарии:

1. …….спасибо, что увидели действительно глупую ошибку, которую я не мог увидеть. Автозаполнение дает ложное ощущение точности