Dies ist die Situation:Sollte ich DOM direkt manipulieren oder React state/reps benutzen?
Diese Komponente rendert viele Daten als Liste. Wenn ich Zustand/Requisiten reagieren den DOM-Stil zu steuern (Klassen hinzufügen oder einige Attribute ändern), Reaktion immer die render()
Funktion ausführen, wenn der Benutzer mit der Liste reagiert, wie mouseover
, click
und etc ..
Obwohl React hat virtuelle DOM-Technologie, aber ich denke, es ist immer noch sehr ineffizient, render()
jedes Mal zu laufen. Die Dokumente empfehlen nicht, DOM direkt zu manipulieren, aber ich denke, es ist effizienter. Was soll ich machen? Danke.
Befolgen Sie die Empfehlungen in der Dokumentation (manipulieren Sie das DOM nicht direkt, es sei denn, Sie müssen es tun). Mit anderen Worten, folgen Sie den Best Practices _now_ und wenn etwas langsam oder ineffizient zu sein scheint _ter__ dann machen Sie sich darüber Sorgen. – Jack
Mach dir keine Sorgen über die Effizienz, bis du einen Flaschenhals hast. Dies wird als "vorzeitige Optimierung" bezeichnet und es ist eine schlechte Angewohnheit. Reagieren ist mehr als schnell genug, um das DOM bei 60 fps zu aktualisieren. Wandeln Sie das DOM, das die Ausgaben ausgibt, niemals um. –