You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React CSS Module中调用SCSS父选择器&生成的修饰类名?

你编写的SCSS中&--red编译后会生成标准的.br--red类名,在CSS Modules导出的样式对象中可以按以下方式访问:

方法1:方括号语法直接访问

因为类名包含短横线,无法直接用点操作符调用,使用方括号传入完整类名字符串即可:

// 仅使用.br--red类
<div className={layout['br--red']}>
  <h1>Khan</h1>
</div>

// 同时使用基础.br类和.br--red修饰类
<div className={`${layout.br} ${layout['br--red']}`}>
  <h1>Khan</h1>
</div>

方法2:驼峰形式访问

如果你的项目配置了CSS Modules自动转换短横线命名为驼峰(Next.js等框架默认开启该配置),也可以用驼峰形式调用:

<div className={`${layout.br} ${layout.brRed}`}>
  <h1>Khan</h1>
</div>

方法3:使用classnames工具简化多类拼接

如果需要频繁拼接多个类、或者需要条件加载类,推荐使用classnames工具库简化写法:

// 先安装classnames:npm install classnames
import cx from 'classnames'
import layout from "../styles/layout.module.scss";

export default function Index() {
  const isRed = true // 可以替换为你的业务判断条件
  return (
      <div className={cx(layout.br, { [layout['br--red']]: isRed })}>
        <h1>Khan</h1>
      </div>
  );
}

内容的提问来源于stack exchange,提问作者Syed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:09:00