Удобный способ использования модулей CSS/SCSS в приложении React

Мне очень нравится система модулей CSS и простой способ их импорта и использования в приложении create-реагировать. Мне также нравится возможность вкладывать классы в SCSS следующим образом:

.unit {
   .text {
      font-size: 0.8rem;
   }
}

.text {
  color: red;
}

Но если я импортирую эти стили в свой компонент и использую их вот так...

import styles from './style.module.scss';

<div className = {styles.unit}>
  <div className = {styles.text}>small... and red!</div>
</div>

<div className = {styles.text}>red</div>

...styles.text, очевидно, будет одним и тем же классом, а текст в div "unit" будет красным, поэтому, если я не хочу этого наследования, я должен хранить классы с одинаковыми именами в отдельных файлах.

Мой вопрос: могу ли я использовать это как-то лучше? Например, Я был бы рад использовать его как:

<div className = {styles.unit.text}></div>

Но, может быть, мне не хватает лучшего встроенного решения или инструмента?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
2
0
64
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если вы измените

import styles from './style.module.scss';

к

import './style.module.scss';

он должен работать

Поскольку файлы SCSS (и CSS!) ничего не экспортируют, нет ничего особенного для импорта, поэтому вы хотите импортировать файл целиком.

Ответ принят как подходящий

Ответ: не делайте этого. Вы должны держать свой модуль стиля очень маленьким и использовать только внутри одного компонента.

Другие вопросы по теме