reactjs - React 如何为特定组件生成单独的样式表?
解决方案
任何带有下划线的东西_name.scss
,都会告诉你的 sass 编译器它是一个部分 scss 文件。简单地不要对单组件 scss 文件使用下划线,例如:Hero.scss
. 然后在您的 中Hero.js
,您可以像这样导入样式:
import './Hero.scss';
<div className="heroContainer">...</div>
或者,如果您的 webpack 已配置为允许导入 scss 模块,那么您可以这样做:
import { heroContainer } from './Hero.scss';
<div className={heroContainer}>...</div>
如果您想heroContainer
与其他样式表共享 的样式,只需@extend
在您的 scss 文件中使用 。
clientsContainer {
@extend .heroContainer;
}
这种方法的缺点是您必须手动将任何部分(如_vars.scss
、_mixins.scss
...等)以及任何其他相关样式表导入到每个新Example.scss
文件中。
理想情况下,如果您在一个大型团队中工作,最好个性化您的 scss 样式表,以便一切都是模块化的(组件及其样式可以传递给其他人,而不必为一个组件发送所有样式表)。
推荐阅读
- hyperledger-fabric - Fabric Gateway SDK:如何检查通道是否存在?
- google-sheets - 如何根据名称找到最新的行?
- c++ - 在变量 c++ 上使用 TEXT 函数
- python - Airflow - AWSAthenaOperator 用于动态查询列表
- android - 获取 Android 和 IOS 的下载次数以及不同的唯一用户
- c# - 通过 HttpClient 禁用单个 url 的请求日志记录
- docker - iptables 块码头工人
- javascript - 使用正则表达式从字符串中取出 html
- reactjs - 如何在 React 中创建下载链接 (PDF)
- shopify - 获取当前选择的变体的数量 - cart.liquid