sollte ich redux-form store anstelle von component state und Redux Custom Store verwenden

9

Ich glaube an jede App, es sollte eine Quelle der Wahrheit geben

Meine App wird

haben
  • 90+ Transaktionsformulare, 150 Berichte
  • komplexe Datenstrukturen (übergeordnete Ebene, untergeordnete Ebene, Berechnungen)

Also in react habe ich 3 verwirrende Orte gefunden, um den Status zu speichern

  1. Komponentenstatus - Verwenden Sie diese Option, wenn Sie keine Daten freigeben möchten
  2. Redux Custom Store (vom Entwickler verwaltet) - verwenden Sie, wenn wir Daten freigeben möchten
  3. Redux-Form speichern (verwaltet von redux-form) - zur Validierung verwenden

Ich habe redux form Just for validation verwendet und dann CONFUSED bekommen, als es mir erlaubte, auf den redux-form store für Daten zuzugreifen, da ich bereits auf Daten vom Component state UND auch von meinem Custom Store in redux zugreife

  1. Redux-Formular registriert keine versteckten Felder. Um verborgene Felder zu registrieren, müssen Sie ein Feld mit deaktiviertem Attribut erstellen, usw.

  2. Wenn Sie eine Berechnung wie durchführen, AMOUNT = QTY * RATE; Hier wird der Benutzer QTY und RATE eingeben und AMOUNT wird berechnet .Hier wird es sich sofort im Komponentenzustand widerspiegeln, aber nicht im reduktiven Zustand. Um es in Redux-Form zu reflektieren, müssen wir feuern.

    this.props.dispatch(change('Invoice', 'amount', 55))

  3. Es wird nicht immer möglich sein, den Komponentenstatus zu vermeiden, wenn ich den Berechnungsformelcode so schreiben werde

    Nur Redux-Form-Status

    const amount = someReduxFormApiGet(QTY) + someReduxFormApiGet(RATE) this.props.dispatch(change('Invoice', 'amount', 55))

    Nur Reaktionsstatus

    onChange(){ will have set QTY & RATE i component state} const amount = this.state.QTY * this.state.RATE

    Fazit: Wenn ich mit redux-form gehe, muss ich extra Code schreiben, um redux-store synchron zu machen, wobei als state in react component ich handleChange() function habe, die den Zustand in% co_de zeichnen wird % .Auch habe ich das Gefühl, viel Flexibilität im Komponentenstatus zu haben

  4. Wenn mein Datenmodell komplexer wird, wird es sehr schwierig sein, es im redux-form store zu verwalten. Dann denke ich, dass y nicht redux Custom store ODER Component state

  5. Andere Bibliotheken, die reaktive Eingaben validieren, verwenden Redux nicht, um die Validierung zu implementieren. Es ist nur eine Redux-Form, die Redux verwendet, um die Validierung zu verwalten.

  

So kam ich zu dem Schluss, dass

  • Die Redux-Form wurde nur zur Validierung erstellt und nicht zur Verwaltung komplexes Datenmodell.

  • Komplexe Datenmodelle sollten in Redux Custom Store OR verwaltet werden Komponentenstatus entsprechend

  • Von Docs Of Redux-Formular behandelt es Validierung sehr gut, aber für Datenmodellierung Zweck schlägt Lösungen vor, die nicht 100% sind geradlinig

  

Benötigen Sie Hilfe bei der Entscheidung

Soll ich den Redux-Form-Speicher für die Datenmodellierung verwenden?

ODER

nur zur Validierung verwenden

AND

Verwenden Sie den Komponentenstatus & amp; benutzerdefiniertes redux Geschäft, um Daten zu modellieren?

    
vijay 04.09.2017, 17:57
quelle

3 Antworten

1

Danke erikas für die schöne Bibliothek, die seit ihrer Geburt fast zwei Jahre gebraucht hat

Ich persönlich verwende keine redux-Form für Datenmanipulation.Ich tue es selbst im Komponentenzustand durch onChange Einstellungszustand.wenn ich Datenspeicher in Redux-Form kennen lernte..Ich benutzte es zunächst aber als meine Verwendung Fälle wuchs, ich muss Datenspeicher zu Komponentenstatus verschieben. Datenmodellierung in reagieren ist etwas, was Sie lernen müssen, wird es nicht durch Magie kommen. Aber sobald Sie es tun, werden Sie nie verwirrt über Overrated state mngt in react

Wenn Sie Data modelling, dependent computations ausführen, empfehle ich die Verwendung des Komponentenstatus für Daten

Daumenregeln:

  • Verwenden Sie nur einen Store über die App, um den Status
  • zu speichern
  • Wenn Sie Component state verwenden, verwenden Sie nicht redux-form state (empfohlen)
  • Wenn Sie redux-form state verwenden, dann verwenden Sie nicht Component state (Begrenzung - Punkt 1,2,3 und schmutzige Code-Codes hinter dem Szenemanager)
  • Sie haben recht, es wurde zur Validierung geboren, also verwenden Sie es zur Validierung
  • Verwenden Sie redux custom store als toggle,user sign-in global data flavor.Aber nicht zum Speichern des tatsächlichen transnationalen Formzustands (Einschränkung - wird über Kodierung hinausgehen).
  • Wenn Ihre App komplex sein wird, empfehle ich Ihnen,

    zu verwenden

Vorteile : Komponentenstatus - Volle Kontrolle über Daten, Flexibilität, was kommt, was rausgeht, keine Magie hinter den Kulissen

Nachteile : Ich habe keine gefunden

Fazit : redux-form ist im Grunde für very newbies , um Dinge schnell zu erledigen, aber wenn es um Berechnungen, abhängige Felder, kommerzielle Datenmodellierung geht, ist redux-form nicht die Option. Aber Selbst wenn Sie redux-form für die Datenmanipulation bald verwenden, werden Sie am Ende mit ( component state , was nicht ignoriert werden kann + redux-form state + redux custom state ) überall mit Verwirrung verstreut.

Adios amigos:)

    
Mr punch 13.09.2017 04:24
quelle
0

Ich würde empfehlen, das Redux-Formular nur zum Sammeln und Validieren von Daten zu verwenden. Verwenden Sie gegebenenfalls Ihren eigenen Komponentenstatus und / oder benutzerdefinierten Redux-Speicher.

Sie verwenden nur redux für den Zustand, der geteilt werden soll. Halten Sie die Dinge einfach und wiederverwendbar.

Gute Lektüre:

Ссылка

Ссылка

Ссылка

    
ovation22 12.09.2017 14:51
quelle
0

Wenn Sie keine Async-Tasks ausführen müssen, z. B. asynchrone Formvalidierungen, dann ist es einfach, eine benutzerdefinierte Formulargeneratorkomponente zu erstellen, anstatt redux-form zu verwenden, was sehr komplex ist, eine zusätzliche Schicht von bastyp & amp; zwingt Sie, Redux zu verwenden.  Für ref. prüfen Sie. Ссылка

    
Kuldeep Saxena 13.09.2017 05:18
quelle