Tailwind CSS: Dynamische Klassenänderungen mit Vorlagenliteralen
Bei der Arbeit mit bedingtem Stil in React ist die Nutzung von Vorlagenliteralen in Tailwind CSS eine leistungsstarke Lösung Technik zum dynamischen Ändern von Klassen. Sehen wir uns an, wie dies effektiv implementiert werden kann.
Das Problem
Einige Entwickler stoßen auf Probleme, wenn sie Vorlagenliterale verwenden, um Klassen in Tailwind CSS bedingt zu ändern. Code ähnlich dem folgenden funktioniert beispielsweise möglicherweise nicht wie erwartet:
const closeNav = () => { 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`}></div>
Die Lösung
Die richtige Methode zum Anwenden von Vorlagenliteralen für dynamische Klassenänderungen ist wie folgt folgt:
<div className={click ? "absolute inset-0 translate-x-0 transform z-400 h-screen w-1/4 bg-blue-300" : "absolute inset-0 -translate-x-full transform z-400 h-screen w-1/4 bg-blue-300"}></div>
Alternativ auch ohne Vorlage Literale:
<div className={"absolute inset-0 " + (click ? "translate-x-0" : "-translate-x-full") + " transform z-400 h-screen w-1/4 bg-blue-300"}></div>
Überlegungen
Vermeiden Sie die Verwendung von Zeichenfolgenverkettungen zum Erstellen von Klassennamen, da dies die Optimierungen von Tailwind behindern kann. Entscheiden Sie sich stattdessen für die Auswahl vollständiger Klassennamen oder verwenden Sie Klassenauswahltechniken wie classNames, clsx oder Tailwind-spezifische Lösungen wie twin.macro, twind und xwind.
Andere Optionen
Bedingtes Styling kann auch mithilfe von Bibliotheken von Drittanbietern wie classnames oder clsx oder Tailwind-spezifischen Lösungen wie twin.macro, twind und erreicht werden xwind.
Weiterführende Literatur
Weitere Informationen finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWie ändere ich Tailwind-CSS-Klassen in React mithilfe von Vorlagenliteralen dynamisch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!