今日推荐库:classnames、clsx动态生成 CSS 类名的 JavaScript 工具库,高效且好用!
classnames
或 clsx
是一个 JavaScript 库,用于有条件地将 CSS 类连接在一起,以动态生成元素的类属性。这对于根据组件的状态或属性应用不同的样式非常有用。
以下是如何使用 classnames
或 clsx
的示例代码:
// 安装 classnames 或 clsx
// npm install classnames
// 或者
// npm install clsx
// 引入 classnames 或 clsx
import classnames from 'classnames';
// 或者
// import clsx from 'clsx';
// 使用 classnames 或 clsx
function MyComponent({ isActive, isDisabled }) {
return (
<div
className={classnames({
'active': isActive,
'disabled': isDisabled,
'button': true // 总是应用这个类
})}
>
Hello, World!
</div>
);
}
在这个例子中,如果 isActive
是 true
,那么 active
类将被应用到 div
上。如果 isDisabled
是 true
,那么 disabled
类将被应用。不管 isActive
还是 isDisabled
是什么值,button
类都会被应用。这样可以有效地根据组件的状态动态更改样式,而不需要在多个条件分支中手动管理类名的字符串拼接。
评论已关闭