2017-03-06 3 views

Antwort

1

üblicherweise ist die Faustregel, dass Sie ein redux store verwenden, um Daten in der Anwendung verwalten aka Artikel vom Server geholt und lokalen react state für ui Verhaltensweisen, wie schaltet in Ihrem Fall zu speichern. Aber es ist nicht eine strenge Regel, zum Beispiel, wenn Sie etwas von mehreren Stellen wechseln müssen es einfacher ist, redux zu verwenden für diese

4

Das aktuell Best Practice ist es, lokalen Zustand zu verwenden, um den Zustand Ihres user interface (UI) Zustand zu behandeln, anstatt data .

Sie Fall ist das perfekte Beispiel für die oben genannten. So zu sagen, zu verwalten, Verbergen und Anzeigen einer Komponente muss innerhalb des lokalen Staates selbst und nicht redux speichern

Ein weiteres Beispiel für UI-Daten, die Sie im lokalen Zustand speichern könnte die aktuell ausgewählte Registerkarte aus einer Liste von Optionen sein.

Eine gute Möglichkeit darüber nachzudenken, wann Sie local state verwenden sollten, ist zu überlegen, ob der von Ihnen gespeicherte Wert von einer anderen Komponente verwendet wird. Falls ein Wert nur eine einzelne Komponente spezifisch ist, dann ist es sicher, dass Wert zu halten, in local state.

Zur weiteren

Redux zu erarbeiten ist auch nützlich für die auslösenden Ereignisse für die Sie den Zugriff auf mehrere Komponenten oder über mehrere Routen benötigen . Ein Beispiel hierfür wäre ein Login-Modus, der durch eine Vielzahl von Schaltflächen in Ihrer gesamten App ausgelöst werden kann. Anstatt ein Modal an einem Dutzend Stellen zu rendern, können Sie es bedingungslos auf der obersten Ebene Ihrer App rendern und eine Redux-Aktion verwenden, um es auszulösen, indem Sie einen Wert im Geschäft ändern.

1

Das hängt davon ab, wie Ihre Komponenten organisiert sind. Wenn der Status von toggle über mehrere Komponenten hinweg verwendet wird, dann bevorzuge ich es, den Status über den Redux-Speicher zu verwalten. Wenn der Status für diese Komponente lokal ist, und wenn er an keiner anderen Stelle verwendet wird, würde der Status innerhalb der Komponente verwaltet werden. Daher wird die Komponente in sich geschlossen sein.

4

Es gibt keine richtige oder falsche Antwort dafür. Damit Sie sich entscheiden, hier sind einige gemeinsame Faustregeln direkt aus dem redux documentation genommen:

  • Haben andere Teile der Anwendung kümmern uns um diese Daten?
  • Müssen Sie basierend auf diesen Originaldaten weitere abgeleitete Daten erstellen können?
  • Werden dieselben Daten verwendet, um mehrere Komponenten zu steuern?
  • Gibt es einen Wert für Sie in der Lage zu sein, diesen Zustand zu einem gegebenen Zeitpunkt (dh Zeitreise-Debugging) wiederherzustellen?
  • Möchten Sie die Daten zwischenspeichern (dh den Status verwenden, wenn er bereits vorhanden ist, anstatt ihn erneut anzufordern)?

Ein weiterer Vorteil die Mehrheit Ihres UI Zustand in redux zu halten ist, dass Sie mehr staatenlos funktionale Komponenten und die Verwendung der performance optimisations they will bring in zukünftigen Versionen von machen schreiben können Reagieren:

zu Diesem Muster ist so konzipiert,

Ermutigen Sie die Erstellung dieser einfachen Komponenten, die große Teile Ihrer Apps umfassen sollten. In Zukunft werden wir auch Leistungsoptimierungen für diese Komponenten durchführen können, indem wir unnötige Prüfungen und Speicherzuweisungen vermeiden.

+2

Als Autor der Redux FAQ, yup, das ist die richtige Antwort :) – markerikson

1

3 Punkte, die ich bei der mit Arbeits reagieren redux

1.Keep UI Zustand und Übergangsdaten (wie Form-Eingänge) in lokalen Zustand.

2. Daten aufbewahren, die Sie über Komponenten im Redux Store teilen möchten.

3.Daten, die Sie vom Server abrufen, sollten in den Redux-Speicher gehen.

Verwandte Themen