2016-07-13 23 views
1

Wie man Daten schnell in Reaktion setzt ??Wie init speichert Daten mit schnell reagieren?

In meinem Projekt machen wir Client reagieren App.

Ich verwende alt(flux), normalizr, immutable. Und um die Leistung zu optimieren, benutze ich PureRendermixin mit immutalbejs.

Wenn Benutzer Seite navigiert, jeder Speicher hört den Speicherort des Browsers und erhält alle Daten über AJAX, initialisiert sich mit den Daten, die es benötigt.

Danach feuert jeder Speicher emitChange, reagiert re-rendert Komponentenbaum.

Aber das Problem ist feuern emitChange in allen wichtigen bootstrapped speichert wieder Komponentenbaum. Das macht es so langsam, sogar Browser wird eingefroren.

d. H. Der Benutzer klickt auf einen Link und bootet die Seitendaten in Stores (Bootstrapping). In dieser Fall aktualisiert DOMAIN speichern Daten (Posts, Kommentare, Listen, Seitenzahlen, Benutzer, Kategorien ... mehr als 10 Geschäfte für Abhängigkeit in der Ansicht Komponente. Betrachten Sie das Bild so viele Lebenszyklus, emit changes, rerdering Updates) angefordert und zusammenführen aktualisiert.

  • NODE_ENV = dev enter image description here Dieser Vorgang dauert länger als 1 Sekunde, und Browser stoppt

  • NODE_ENV = prod enter image description here Dies dauert mehr als 200 ms, noch besser, aber nicht genug, um zu verwenden.

Wie Architektur optimieren?

Antwort

0

Sie können die Server-Rendering-Technik (universal/isomorph) verwenden und Daten vom Server ohne Ajax direkt an die Clients übergeben.

+0

Ich kam von Server-redering. Weil das langsamer war – bsdo64