classnames
是一个 字符串拼接工具,用于合并 className
,支持:
- 条件拼接
- 数组合并
- 去除
false
、undefined
、null
等无效值
import cn from 'classnames';
const classes = cn(
'btn',
false && 'hidden', // ❌ false 值不会生效
'btn-primary',
['rounded', 'shadow'], // ✅ 支持数组
);
console.log(classes);
// 输出: "btn btn-primary rounded shadow"
## ** 为什么要这样写?**
```tsx
const classNames = (...cls: cn.ArgumentArray) => {
return twMerge(cn(cls));
};