react如何使用classname
使用 className 在 React 中设置样式
在 React 中,className 是用于为元素添加 CSS 类的属性,类似于 HTML 中的 class 属性。以下是几种常见的使用方法。
直接传递字符串
最简单的用法是直接传递一个字符串作为 className 的值。
<div className="my-class">内容</div>
动态设置 className
可以根据条件动态设置类名,通常结合模板字符串或条件判断实现。
const isActive = true;
<div className={`box ${isActive ? 'active' : ''}`}>动态类名</div>
使用第三方库(如 classnames)
classnames 是一个流行的库,可以更方便地处理复杂的类名逻辑。
安装:
npm install classnames
使用示例:
import classNames from 'classnames';
const isActive = true;
const isError = false;
<div className={classNames('box', { 'active': isActive, 'error': isError })}>
复杂类名逻辑
</div>
结合 CSS Modules
如果项目配置了 CSS Modules,可以通过导入样式文件直接引用类名。
import styles from './MyComponent.module.css';
<div className={styles.myClass}>CSS Modules 类名</div>
内联样式与 className 的区别
className 用于添加外部 CSS 类,而内联样式通过 style 属性直接传递对象。

<div style={{ color: 'red' }} className="my-class">内联样式与类名结合</div>
注意事项
- React 中必须使用
className而非class,因为class是 JavaScript 的关键字。 - 动态类名逻辑复杂时,推荐使用
classnames库简化代码。 - 避免过度使用内联样式,优先考虑 CSS 类以实现更好的性能和可维护性。






