2016-03-24 14 views
13

Managing Zustand mit React nurSie benötigen keinen Status in React-Komponenten, wenn Redux und React-Redux verwendet werden?

Ich verstehe, dass, wenn Sie eine Anwendung zu schaffen nur reagieren, werden Sie alle Ihre Zustand innerhalb verschiedener React Komponenten verwalten Sie am Ende erstellen.

Zustand Verwalten mit Reagieren und Redux

Wenn Sie sich entscheiden Redux in Kombination zu verwenden, mit Reagieren, können Sie dann alle den Zustand von jeder der Komponenten in die Redux bewegen Sie Ihren Anwendungszustand Gesamt React. Jede Komponente, die ein Segment des Redux-Anwendungszustands benötigt, kann dann über die Funktion connect von React-Redux in den Status eingebunden werden.

Frage

Bedeutet dies, dass Sie nicht mehr schreiben müssen alle Komponenten reagieren, die mit der Reaktion befassen state (dh this.setState) seit React-Redux ist connect die Komponenten mit Redux Zustand Reagieren ing durch Weitergabe von Daten in die container Komponente als props?

+2

Ja. Ob Sie sollten oder nicht, erfordert mehr Diskussionen und Details zu Ihrer App. Es ist immer schön, eine einzige Quelle der Wahrheit zu haben. – azium

+1

Wenn Sie nur bei React only bleiben möchten, aber nach einem leichteren Ansatz für den Komponentenstatus suchen, können Sie eine Zustandsverwaltungsbibliothek wie MobX (https://mobxjs.github.io/mobx/) hinzufügen. Es kann Ihnen mit dem internen Komponentenstatus helfen (https://medium.com/@mweststrate/3-reasons-why-i-stopped-using-react-setstate-ab73fc67a42e#.5xoga86e9), aber auch den Status außerhalb Ihres speichern Komponente. –

Antwort

8

Es gibt verschiedene Meinungen dazu, aber die allgemeine Ansicht scheint zu sein, dass redux nur "application state" enthalten sollte. Einzelne Reaktionskomponenten wie Dropdowns oder Modale haben immer noch ihren eigenen Status.

Es gibt immer noch eine große Debatte darüber aber dieses Problem überprüfen zum Beispiel darüber, wie lokale Komponente Zustand zu verwalten: https://github.com/reactjs/redux/issues/159

Einige Projekte wurden Aufspringen, dass dieses „Problem“ zu lösen versuchen:

+4

Ich zweite dies. Lassen Sie uns hören, was Redux 'Schöpfer sagt :) https://twitter.com/dan_abramov/status/623097205386293248 – dannyjolie

+2

Ich stimme auch zu: Zustand kann nützlich sein, z. für eine Eingabekomponente, in der Benutzer ein Eingabefeld bearbeiten können, wobei nur der Zustand in kleinen Zyklen aktualisiert wird. Wenn die Zustandsänderung (Inhalt des Eingabefeldes) in der kleinen Reaktionskomponente enthalten sein kann, ohne dass der Rest der Welt etwas davon wissen muss. Wo die Notwendigkeit, Full-Zyklus zu Redux gehen (möglicherweise viele andere Methoden auslösen) ist nur erforderlich, wenn der Benutzer drückt eingeben usw. – wintvelt

+0

Ich stimme zu, Redux ist ein Werkzeug, um globalen Zustand in einem Geschäft zu sammeln und sollte nur als solche verwendet werden Staat muss verbunden sein. – Sequential

Verwandte Themen