clsx

6 阅读1分钟

clsx定义

clsx是一个轻量级的实用库,用于管理CSS类的应用。

npm install --save clsx

clsx使用示例:

字符串-简单拼接

import clsx from 'clsx'
const classNames = clsx("name1","name2")
console.log(classNames) //name1 name2

对象-条件类名

const isActive = true
const classNames = clsx("name1",{"active":isActive})
console.log(classNames) // name1 active

数组

const isActive = true
const isBold = false
const classNames = clsx(['name1',{'bold':isBold},{'active':isActive}])
console.log(classNames) // name1 active

字符串模板替换

const color = 'red'
const classNames = clsx('name1',`color-${color}`)
console.log(classNames) // name1 color-red

Next.js中使用clsx的例子:

export default function Page({status}:{status:string}){
 return (
  <div 
    className={clsx(
    'flex items-center px-2 py-1',
    {
     'bg-gray-100 text-gray-500':status === 'pending'
     'bg-green-100 text-white':status === 'paid'
    }
    )}
  >
  
  </div>
 )
}