2016-12-02 11 views
1

Sollten untergeordnete Komponenten nie einen Status in React aufweisen? Ich verstehe, dass dieser Zustand durch den "Wrapper-Container" oder den Eltern-Container aufrechterhalten werden sollte und dass er in einer Richtung fließen sollte. Ich habe mit React begonnen und habe einen Header-Container mit bis zu 10 untergeordneten Komponenten.Status der untergeordneten Komponenten in React

Angenommen, eine der untergeordneten Komponenten ist ein Formular mit einer Übergabeschaltfläche, die aktiviert oder deaktiviert werden kann.

Sollte diese untergeordnete Komponente nicht in der Lage sein, einen Konstruktor mit initialisiertem Status für die Schaltfläche zu haben und sie direkt zu manipulieren, oder ist es wichtig, dass ich im Wrapper-Container "minute" nur so viele Zustände behalte?

Antwort

1

Sie sollten den übergeordneten Container den Status von Formularen verwalten lassen. Normalerweise hänge ich an jede Eingabe einen onChange-Listener an, und wenn die Schaltfläche zum Senden ausgewählt wird, rufe ich eine Funktion in der übergeordneten Komponente auf, um den im Status für meine Formulareingaben enthaltenen Wert zu übergeben. Das Formular sollte nur Eingaben wiedergeben und nichts anderes tun, im Grunde eine dumme Komponente.

1

Der Zweck von React ist die Bereitstellung eines Komponentensystems an das Front-End. Es tut nicht spezifizieren/erzwingen, wie Zustand fließen. Leute bevorzugen im Allgemeinen state-less Komponenten, weil es einfacher ist, zu teilen und zu verteilen. Die Front-End-Komponente kann jedoch niemals vollständig statuslos + deklarativ sein.

Meiner Meinung nach sollten Sie sich frei fühlen, this.state zu verwenden, um den lokalen Zustand zu verwalten, wenn Sie sich dazu passend fühlen.

+0

Das ist eine Erleichterung zu wissen :) –

Verwandte Themen