У меня есть несколько компонентов, которые имеют следующую структуру CSS/компонента
About/style.css
.AboutContainer {
# Some style
}
p > code {
# Some style
}
И я импортирую CSS в компоненте следующим образом
About/index.js
import './style.css';
export default class About extends Component {
render() {
# Return some component
}
}
Однако CSS импортируется в раздел <header>
и остается глобальной областью действия.
Я ожидал, что CSS будет:
- Компонент-ограничен таким образом, что стиль применяется только к вещам, которые отображаются только внутри этого компонента.
- Стиль для этого компонента исчезнет, если компонент отключен.
Однако при проверке из браузера стили указываются в разделе <header>
и применяются ко всем компонентам.
<header>
// Stuff
<style type="text/css">style for component About</style>
<style type="text/css">style for component B</style>
<style type="text/css">style for component C</style>
// Stuff
</header>
Как я могу импортировать CSS, чтобы иметь компонентную область? Похоже, я неправильно понимаю импорт CSS в React ES6.
Я следовал этому уроку
редактировать
Ответ Бретта правильный. Однако моя проблема оказывается где-то еще. Я создал свое приложение, используя create-реакции-приложение, которое в основном упрощает настройки, необходимые для выполнения React. Это включает в себя WebPack, Babel и другие вещи, чтобы начать. Используемая в нем конфигурация WebPack по умолчанию не устанавливала опцию модуля для css-loader
поэтому по умолчанию она была равна false
, и в результате локальное сканирование не было включено.
Просто для дополнительной информации создается впечатление, что у create-response-app нет простого способа настройки конфигурации WebPack, но в Интернете существует множество обходных путей.