π§± Π‘ΡΡΡ
tailwind-merge β ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Tailwind-ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
ΠΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ CSS-ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ.
π¦ ΠΡΠΎΠ±Π»Π΅ΠΌΠ°
1. ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ
className="px-2 px-4"ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ Π² ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡΡ.
β Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ tailwind-merge Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΡ
ΠΊΠ»Π°ΡΡΠΎΠ².
π» ΠΠΎΠ΄
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
npm install tailwind-mergeΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
import { twMerge } from 'tailwind-merge';
twMerge('px-2 px-4');Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
px-4ΠΡΠΈΠΌΠ΅Ρ:
const buttonClass = twMerge(
'px-4 py-2 bg-blue-500',
isActive && 'bg-red-500'
);Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ clsx
import clsx from 'clsx';
import { twMerge } from 'tailwind-merge';
const cn = (...args: Parameters<typeof clsx>) =>
twMerge(clsx(args));className={cn('btn', isActive && 'bg-red-500')}π― ΠΡΠ²ΠΎΠ΄
tailwind-mergeΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Tailwind-ΠΊΠ»Π°ΡΡΠΎΠ²- ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ
clsx - ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ helper
cn()