Heim >Web-Frontend >CSS-Tutorial >Wie kann ich in JSX dynamisch Klassen zu statischen Klassennamen hinzufügen?

Wie kann ich in JSX dynamisch Klassen zu statischen Klassennamen hinzufügen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-29 16:03:12694Durchsuche

How Can I Dynamically Add Classes to Static Class Names in JSX?

Dynamisches Hinzufügen von Klassen zu manuellen Klassennamen in JSX

In JSX müssen wir häufig Klassen basierend auf bestimmten Bedingungen dynamisch zu Elementen hinzufügen. Dazu muss die Eigenschaft „className“ so bearbeitet werden, dass sie sowohl statische als auch dynamische Klassennamen enthält. So erreichen Sie dies:

Verwendung der JavaScript-Syntax

Sie können die normale JavaScript-Syntax verwenden, um dynamische Klassen zu manuellen Klassennamen hinzuzufügen:

className={'wrapper searchDiv ' + this.state.something}

Dadurch werden die statischen Klassennamen „wrapper“ und „searchDiv“ mit dem dynamischen Klassennamen verkettet, der durch die State-Eigenschaft bestimmt wird this.state.something.

String-Vorlagen verwenden

Alternativ können Sie String-Vorlagen (ES6-Vorlagenliterale) mit Backticks verwenden:

className={`wrapper searchDiv ${this.state.something}`}

Mit dieser Syntax können Sie JavaScript-Ausdrücke direkt in die Zeichenfolge interpolieren, einschließlich dynamischer Klassen Namen.

Hinweis:

Denken Sie daran, dass alles, was in JSX in geschweifte Klammern steht, als JavaScript-Code interpretiert wird. Daher können Sie innerhalb des className-Attributs komplexe Logik ausführen und Zeichenfolgen nach Bedarf bearbeiten. Allerdings können Sie JSX-Strings und geschweifte Klammern nicht direkt innerhalb von Attributen kombinieren.

Das obige ist der detaillierte Inhalt vonWie kann ich in JSX dynamisch Klassen zu statischen Klassennamen hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn