Ich habe Probleme mit der Aktualisierung des Status mit Daten aus Eingabefeldern in Om.next.Aktualisierung des geschachtelten Status in Om.next
Der Lesezustand in Om.next wird durch Abfragen und Abfragen gelöst, die es Komponenten ermöglichen, den Abrufzustand unabhängig vom Kontext zu implementieren, was großartig ist, da die Komponente die Struktur des Zustandsatoms nicht kennen muss muss den lokalen Ausschnitt des Staatsatoms verstehen, der direkt zu ihm gehört.
Leider war ich nicht in der Lage, einen Weg zu finden, dies in die entgegengesetzte Richtung zu tun, dh Mutationszustand basierend auf Benutzerinteraktion mit Komponenten in einer Weise, die es nicht mit der Position der Komponente im Zustandsatom koppelt .
Die meisten Beispiele im Internet haben mutate-Funktionen, die einen bestimmten Pfad im Statusatom ändern, beginnend mit dem Root.
(defonce app-state (atom {:badge {:credentials {:user "" :password ""}}}))
So, jetzt gehe ich um die Komponente zu machen:
Object
(render [this]
(dom/div nil
(dom/input #js {:onChange ???
:value {:user value}})
(dom/input #js {:onChange ????
:value {:password value}})))
Es ist ein ziemlich krasses Beispiel, aber wie aktualisiere ich den Zustand, wenn Benutzertypen, ohne die Tatsache zu koppeln, dass es unter dem Pfad gespeichert werden ?
Die Lesevorgänge werden von der Abfrage erfasst, die Mutationen jedoch nicht. Dies ist ein einfaches künstliches Beispiel, aber es wird schlimmer, wenn ich versuche, einen verschachtelten Baum mit (zur Codierungszeit) unbekannter Form zu rendern und zu aktualisieren.