2017-02-27 3 views
0

in der Redux Dokumentation steht geschrieben:Redux und alle Anwendungszustand

In Redux, alle Anwendungszustand wird als ein einzelnes Objekt gespeichert.

Und das beginnt mein Problem. Ich schreibe eine Anwendung, die wenige Entitäten mit viele Daten in einem SPA (React + Redux) verwalten wird und etwas betrifft mich in der Verwendung von Redux und bekomme eine Art Verzögerung, weil die Menge der Daten, die ich ' Ich muss es schaffen.

Ich glaube nicht, dass die Übertragung des gesamten Anwendungsstatus über Redux nett wäre, weil es in gewisser Weise viel Speicher verbrauchen könnte, aber ich könnte falsch liegen.

Redux sieht (zu mir) so einfach aus und so zur gleichen Zeit verwirrt und ich nicht wenn ich sollte oder sollte nicht verwenden, aber, die Anwendung wird sehr gewachsen und ich bin sicher, dass es wird hilf mir, das Projekt auch zu organisieren.

Eine andere Sache, die mir Angst machte, ist das Rendern von DOM-Element, wenn ein aktualisierter Zustand auftritt. Es ist anders als setState() auf React und wie wir in den Redux-Videos von Dan Abramov sehen können, verwendet er eine forceUpdate, die nicht in der React-Dokumentation empfohlen wird.

Ist es möglich, die Entitäten in verschiedenen Geschäften zu verwalten, sondern sie nur zusammenzufügen, wenn es notwendig ist?

Wird beim Speichern des gesamten Anwendungsstatus in einem einzelnen Speicherobjekt viel Speicher belegt?

Was ist die beste Methode zum Rendern von Komponenten mit Redux?

+0

Also, wie viele Fragen stellst du hier? Ich fürchte, das passt nicht gut zu StackOverflow. Hast du [chat] (https://chat.stackoverflow.com/rooms/17/javascript) ausprobiert? – Pavlo

+0

Danke @Pavlo, ich glaube, dass der Chat wirklich der beste Weg ist. Vielen Dank – Dan

Antwort

2

Sie haben auf jeden Fall verschiedene Fragen gibt, und Sie sind Überdenken Dinge :)

Zuerst Caching von Daten auf der Client-Seite ist nicht anders in Redux als mit jedem anderen Javascript Rahmen bekam . Tatsächlich wird das Zwischenspeichern von Daten mit Redux wahrscheinlich weniger Arbeitsspeicher beanspruchen als mit Backbone, da eine Redux-Anwendung reine JS-Objekte und -Arrays speichert, anstatt die Daten in Modellklasseninstanzen zu verpacken. Es gibt auch keinen Größenunterschied zwischen dem Teilen dieser Daten zwischen mehreren Speichern und dem Kombinieren von allem in einem einzigen Zustandsbaum in einem Speicher.

Jetzt Wie viel Daten, die Sie cachen, liegt bei Ihnen, aber realistisch könnten Sie leicht Zehntausende von Aufzeichnungen in einer Client-App im Laufe der Zeit ohne Probleme zu laden.

Zweitens, verwechseln Sie nicht die kleinen Beispiele, die Dan in diesen Videos zeigt, wie die React-Redux-Bibliothek wirklich funktioniert. Dan versuchte, einige grundlegende Ideen zu veranschaulichen, nicht Produktionscode. Wenn es hilft, schrieb er tatsächlich eine miniature version of connect, die die Grundidee zeigt, was connect tatsächlich tut. Inzwischen ist die echte React-Redux-Bibliothek stark optimiert (und verwendet intern tatsächlich setState, sobald sie weiß, dass sich die Daten wirklich geändert haben).

Schließlich, während Sie können erstellen mehrere Geschäfte, die Redux FAQ advises to only use one store, aus verschiedenen Gründen.

Ich habe vor kurzem eine presentation that introduces the basics of React and Redux veröffentlicht. Vielleicht möchtest du das durchlesen. Ich würde dich auch ermutigen, gründlich zu read through the Redux docs.

Außerdem habe ich eine große Liste mit Links zu hochwertigen Tutorials und Artikeln zu React, Redux und verwandten Themen unter https://github.com/markerikson/react-redux-links. Es ist speziell dafür gedacht, ein guter Ausgangspunkt für alle zu sein, die versuchen, das Ökosystem zu erlernen, sowie eine solide Quelle für gute Informationen zu fortgeschritteneren Themen.