Ich möchte in der Lage sein, die Klasse "aktiv" an/aus für ein einzelnes Element einer Liste umzuschalten. Sagen wir eine Liste von Elementen haben:React - Toggle css Klasse
<ul>
<li><a href="#" className="list-item">First</a></li>
<li><a href="#" className="list-item">Second</a></li>
<li><a href="#" className="list-item">Third</a></li>
</ul>
und ich möchte in der Lage sein, Klasse „aktiv“ auf einem zweiten Element auf Klick hinzuzufügen. Ich kann den Zustand dafür nicht benutzen, weil es die Klassen anderer 2 Elemente verändern würde, wenn wir die Bedingung dort hinzufügen, richtig?
Also könnte die Lösung sein, eine Unterkomponente say <ListItem />
zu erstellen, die ihren eigenen Status und eigene Onclick-Methode haben könnte, die nur seine eigene Klasse ändern würde. Wenn wir jedoch die Klasse "aktiv" für andere Elemente beim Klicken entfernen möchten, müsste diese Unterkomponente eine Methode an ein Elternelement senden, um die Klasse von anderen Elementen zu entfernen. Es scheint ziemlich kompliziert für eine einfache Aufgabe (Sie kennen die 10secs-in-jquery-Art).
Hat jemand eine einfachere Lösung dafür?
Es wäre sehr schön, nicht einen weiteren großen npm Modul dafür, document.getElementsByClassName (natürlich) noch Refs verwenden.
, was ist das Problem mit dem Staat hier mit? 'weil es die Klassen anderer 2 Elemente verändern würde 'was meinst du damit? Sie würden nicht alle bei einer Änderung des Staates ändern. und selbst wenn sie das täten, wäre das kein Leistungsproblem. Nicht sicher, was das Problem ist. –