Führt tiefes Schachteln von Flexboxen zu Performance-Problemen?

8

Ich habe an einem ReactJS-Projekt gearbeitet, bei dem ich die meisten Komponenten mit dem Flexbox-Layout erstellt habe. Da mit react, können wir tief verschachtelte Komponenten haben, so dass mein Layout geschachtelt Flexbox-Layout hat.

Jetzt ist meine Frage, hat das irgendein Problem mit der Leistung? Auf einer einzelnen Seite gibt es viele Komponenten und jede Komponente hat ein geschachteltes Flexbox-Layout mit 3 bis 4 Ebenen. Wird dies zu einem Leistungsproblem führen?

    
Provash Shoumma 13.09.2016, 06:09
quelle

2 Antworten

9

Habe einen kleinen Test gemacht. Es wurden 100 Komponenten mit jeweils 10 verschachtelten Layouts gerendert. Mit und ohne Flexbox. Hier sind die Code-Schnipsel:

Komponente / index.js

%Vor%

WithFlex / index.js

%Vor%

OhneFlex / index.js

%Vor%

Ergebnisse aus der Chrome-Entwicklungszeitleiste.

WithFlex

OhneFlex

Zusammenfassung

Der Unterschied ist nicht so viel. Auch in der flexbox stelle ich zufällige Eigenschaften zur Auswahl. Also ich denke, es ist in Ordnung mit der Leistung. Ich hoffe, es wird anderen Entwicklern helfen.

    
Provash Shoumma 13.09.2016, 08:40
quelle
2

Die alte flexbox (display: box) ist 2,3 mal langsamer als die neue flexbox (display: flex). Regelmäßiges Block-Layout (nicht-float), wird in der Regel so schnell oder schneller als neue flexbox sein, da es immer Single-Pass ist. Die neue flexbox sollte jedoch schneller sein als die Verwendung von Tabellen oder das Schreiben von benutzerdefiniertem JS-Basis-Layout-Code. Für mehr Information Artikel1 Artikel2

    
vivek 13.09.2016 06:19
quelle

Tags und Links