ホームページ >ウェブフロントエンド >CSSチュートリアル >テンプレート リテラルを使用して React で Tailwind CSS クラスを動的に適用するにはどうすればよいですか?
Tailwind CSS でのテンプレート リテラルを使用した動的 CSS クラスの適用
Tailwind CSS で CSS クラスを動的に変更しようとすると、問題が発生する可能性があります。たとえば、次のコードを利用しようとすると:
const [click, setClick] = useState(false); const closeNav = () => { setClick(!click); }; const openNav = () => { setClick(!click); }; <div className=" absolute inset-0 ${click ? translate-x-0 : -translate-x-full } transform z-400 h-screen w-1/4 bg-blue-300 " > <XIcon onClick={closeNav} className=" absolute h-8 w-8 right-0 " /> </div>;
このコードは効果的に実行されません。この問題に対処するには、次の変更を加えます。
<div className={`absolute inset-0 ${click ? 'translate-x-0' : '-translate-x-full'} transform z-400 h-screen w-1/4 bg-blue-300`}></div> // Alternatively (without template literals): <div className={'absolute inset-0 ' + (click ? 'translate-x-0' : '-translate-x-full') + ' transform z-400 h-screen w-1/4 bg-blue-300'}></div>
次に示すように、クラス名を構築するときに文字列連結の使用を避けてください。
<div className={`text-${error ? 'red' : 'green'}-600`}></div>
代わりに、選択することを選択します。完全なクラス名:
<div className={`${error ? 'text-red-600' : 'text-green-600'}`}></div> // Following is also valid if you don't need to concatenate the class names <div className={error ? 'text-red-600' : 'text-green-600'}></div>
Tailwind は、完全なクラス名が本番ビルドに含まれている場合、それらを削除しません。
さらに、classname や clsx などのライブラリ、twin.macro、twind、xwind などの Tailwind 固有のソリューションを含むさまざまなオプションにアクセスできます。
さらに
以上がテンプレート リテラルを使用して React で Tailwind CSS クラスを動的に適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。