Bedingtes Anwenden von Klassenattributen in React
In React kann das dynamische Anwenden von Klassenattributen basierend auf Requisiten nützlich sein, um Elemente bedingt anzuzeigen oder auszublenden. Ein häufiges Problem besteht jedoch darin, dass geschweifte Klammern, die für bedingte Prüfungen verwendet werden, möglicherweise als Zeichenfolgeninterpolation fehlinterpretiert werden.
Frage:
Ein Benutzer versucht, eine Schaltflächengruppe bedingt anzuzeigen basierend auf einer Requisite aus einer übergeordneten Komponente. Der Codeausschnitt lautet wie folgt:
<div className="btn-group pull-right {this.props.showBulkActions ? 'show' : 'hidden'}">
Das Problem besteht darin, dass die geschweiften Klammern als Zeichenfolge ausgewertet werden und nichts angezeigt wird.
Antwort:
Das Problem liegt in der falschen Platzierung der geschweiften Klammern innerhalb der Zeichenfolge. Um die bedingte Anweisung korrekt auszuwerten, sollten die geschweiften Klammern außerhalb der Zeichenfolge platziert werden:
<div className={"btn-group pull-right " + (this.props.showBulkActions ? 'show' : 'hidden')}>
Dadurch wird sichergestellt, dass die bedingte Anweisung zuerst ausgewertet wird und das Ergebnis mit der Klassenzeichenfolge verkettet wird. Beachten Sie, dass das Leerzeichen nach „pull-right“ wichtig ist, um ein versehentliches Kombinieren von Klassen zu vermeiden (z. B. „pull-rightshow“ statt „pull-right show“). Darüber hinaus sind Klammern erforderlich, um eine ordnungsgemäße Auswertung sicherzustellen.
Durch diese Anpassung wird die Schaltflächengruppe nun wie erwartet angezeigt oder ausgeblendet, basierend auf dem Wert der showBulkActions-Requisite aus der übergeordneten Komponente.
Das obige ist der detaillierte Inhalt vonWie wende ich Klassenattribute bedingt in React an, ohne Probleme mit der String-Interpolation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!