본문 바로가기
Utility

Tailwind Merge

by seyoonagain 2024. 12. 13.

Tailwind Merge

Tailwind를 사용할 때 기본적으로 정의된 클래스prop으로 전달받은 클래스중복될 경우,
Tailwind의 CSS 클래스는 후순위에 있는 클래스가 우선 적용된다.
하지만 클래스 문자열을 단순히 병합하면, 코드가 복잡해지거나 실수로 인해 의도한 스타일이 제대로 적용되지 않을 수 있다.


이를 해결하기 위해 tailwind-merge와 같은 라이브러리를 사용한다.
tailwind-merge는 중복된 Tailwind 클래스 중에서 우선순위에 따라 올바른 클래스를 자동으로 선택해 주며,
이를 통해 prop으로 전달된 클래스가 기본 클래스를 override할 수 있도록 보장한다.

설치

npm install tailwind-merge
yarn add tailwind-merge
pnpm add tailwind-merge

사용하기

import { twMerge } from 'tailwind-merge';

const Button = ({ className }) => {
  const baseClasses = "bg-blue-500 text-white";
  return <button className={twMerge(baseClasses, className)}>Click Me</button>;
};

// 사용 예시
<Button className="bg-red-500" />

위 코드에서 className으로 전달된 bg-red-500이 기본 클래스의 bg-blue-500override하여 버튼의 배경색이 빨간색으로 설정된다.

'Utility' 카테고리의 다른 글

텍스트 에디터 Tiptap 커스터마이징  (0) 2025.01.19
useWebSocket으로 웹소켓 구현하기  (1) 2025.01.14
돌아가는 로딩 스피너 코드  (0) 2024.12.23
cva (Class Variance Authority)  (1) 2024.12.14
clsx  (0) 2024.12.13