css - 具有 CSS 模块和 React 的多个类名

标签 css reactjs css-modules

我使用以下代码根据 props 中的 bool 值在 React 组件中动态设置 className:

<div className={this.props.menuOpen ? 'inactive' : 'active'}>
...
</div>

但是,我也使用 CSS 模块,所以现在我需要将 className 设置为:

import styles from './styles.css';

<div className={styles.sideMenu}>
...
</div>

我遇到了问题 - 我尝试使用 classnames获得对多个类的更多控制,但因为我需要最终结果是将 className 设置为 styles.sideMenu AND styles.active (为了启动 CSS 模块)我不确定如何处理这个问题。

非常感谢任何指导。

最佳答案

使用classnames和 ES6:

let classNames = classnames(styles.sideMenu, { [styles.active]: this.props.menuOpen });

使用类名和es5:

var classNames = classnames(styles.sideMenu, this.props.menuOpen ? styles.active : '');

关于css - 具有 CSS 模块和 React 的多个类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382153/

相关文章:

html - 从 Div 中的 CSS 类中排除元素

reactjs - TypeError : utils. endOfDay 不是函数

css - 如何使用 :global css classes - css modules

javascript - Webpack 从 .jsx 文件中删除 css?

html - 同步 CSS 动画

jquery - 如何删除硬币 slider 中的自动滚动

javascript - react 未处理的拒绝(不变违规)

javascript - 在不使用 dangerouslySetInnerHTML 进行长度检查的情况下清理 HTML 字符串

javascript - CSS 模块 @import 未能通过 Jest 测试套件

html - &lt;textarea&gt; 扩展和破坏表格格式