我有几个组件具有以下 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 导入为组件范围?似乎我错误地理解了 React ES6 中的 CSS 导入。
我正在关注本教程
编辑
布雷特的回答是正确的。但是,事实证明我的问题出在其他地方。我使用create-react-app创建了我的应用程序,它基本上简化了执行 React 所需的设置。它包括 WebPack、Babel 和其他入门内容。它使用的默认 WebPack 配置没有为它设置module选项,css-loader
因此它默认为false
,因此未启用本地范围。
仅作为附加信息,似乎 create-react-app 没有直接的方法来自定义 WebPack 配置,但网络上似乎有许多操作方法。