Heim >Web-Frontend >CSS-Tutorial >Wie kann ich einer ReactJS-Komponente dynamisch mehrere Klassen hinzufügen?

Wie kann ich einer ReactJS-Komponente dynamisch mehrere Klassen hinzufügen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-17 08:54:04967Durchsuche

How Can I Dynamically Add Multiple Classes to a ReactJS Component?

Dynamisches Hinzufügen mehrerer Klassen zu einer ReactJS-Komponente

Bei der Arbeit mit ReactJS müssen Sie möglicherweise mehrere Klassen zum Klassennamen eines Elements hinzufügen Attribut. Um potenzielle Fehler oder Verwirrung zu vermeiden, bieten ES6-Vorlagenliterale eine elegante Lösung.

Um dies zu erreichen, verwenden Sie Vorlagenliterale, um die Klassennamen in Backticks (`) einzuschließen und sie mit dem Operator „ “ zu verketten. Beispiel:

const className = `class1 class2 class3`;

In Ihrem Fall können Sie die Rendermethode Ihrer AccountMainMenu-Komponente ändern, um Vorlagenliterale zu verwenden:

render() {
  var self = this;
  // ...

  return (
    <div className="acc-header-wrapper clearfix">
      <ul className="acc-btns-container">
        {accountMenuData.map(function(data, index) {
          var activeClass = "";

          if (self.state.focused == index) {
            activeClass = "active";
          }

          const className = `${activeClass} ${data.class} main-class`;

          return (
            <li
              key={index}
              className={className}
              onClick={self.clicked.bind(self, index)}
            >
              <a href="#" className={data.icon}>
                {data.name}
              </a>
            </li>
          );
        })}
      </ul>
    </div>
  );
}

Dieser Ansatz stellt sicher, dass mehrere Klassen korrekt hinzugefügt werden das className-Attribut, ohne dass eine komplexe Zeichenfolgenmanipulation oder potenzielle Fehler erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich einer ReactJS-Komponente dynamisch mehrere Klassen 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