Beeinträchtigt ein großer Redux-Zustand die Leistung meiner Anwendung?

Lesezeit: 1 Minute

Benutzeravatar von Ram Subramanian
Ram Subramanian

Ich baue einen Frontend Page Builder ( SPA ) für WordPress mit React und er unterstützt auch andere Plugins!

Wenn wir nur unsere eigenen Module unterstützen wollten, hätten wir jedes Modul problemlos als separate Komponente erstellen können, aber da es die Kreuzkompatibilität unterstützt, ist nicht abzusehen, wie das Markup aussehen wird. Wenn also ein Modul hinzugefügt wird, werden Details über das Modul über eine Ajax-Anforderung an den kurzen Code-Endpunkt gesendet, und das entsprechende Markup wird generiert und als Zeichenfolge an den Builder zurückgegeben!

Dann wird das Markup im Zustand gespeichert und sofort durch eine dumme Komponente gerendert!

Mein Problem ist Einige Markups sind so groß wie 20.000 Zeichen und es ist nicht abzusehen, wie viele Module ein Benutzer hinzufügen wird, da es sich um einen Seitenersteller handelt!! Obwohl ich unveränderliches js verwende, um meinen Zustand beizubehalten, bin ich skeptisch gegenüber der Leistung !!

Sollte ich mir keine Sorgen machen oder gibt es einen anderen Ansatz, der besser ist als der, den wir jetzt verfolgen? Alle Gedanken dazu werden sehr geschätzt!

Vielen Dank für eure Zeit Leute!

  • Gibt Ihr Endpunkt HTML zurück, das nur gerendert werden muss? Ich verstehe das Problem nicht. Fügen Sie das Markup einfach dort ein, wo es eingefügt werden muss (mithilfe einer Dump-Komponente), und das ist die beste Lösung. Müssen Sie den Status dieses Markups später verwalten? Hier sind viele Designentscheidungen zu treffen.

    – Tomerico

    2. August 2016 um 8:26 Uhr

Ich habe mit DraftJS gearbeitet und Artikel in React-Komponenten gerendert. Es ist bisher kein Problem. Kann große Artikel im Redux-Zustand halten. Facebook verwendet zwar kein Redux, aber intern DraftJS, und der Feed ist normalerweise stark mit Inhalten gefüllt.

1389920cookie-checkBeeinträchtigt ein großer Redux-Zustand die Leistung meiner Anwendung?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy