Ähnlich wie das ToDo-Beispiel für Redux ist meine Projektstruktur ähnlich - nur ein Container mit einem Array von untergeordneten Komponenten, die angezeigt werden sollen. Das Geschäft würde ungefähr wie folgt aussehen:
%Vor%Jedes Widget-Element ist eine komplexe Komponente - viele mögliche Aktionen, viele Eigenschaften und viele untergeordnete dumme Komponenten. Daher habe ich jedes Widget zu einer verbundenen intelligenten Komponente mit einem dedizierten WidgetReducer gemacht, um diese Statusänderungen getrennt zu halten.
Ich möchte, dass der WidgetReducer sich immer nur um ein Widget kümmert, also wäre der von ihm behandelte Zustand nur ein einzelner Widget-Knoten wie:
%Vor%Meine Workspace-Komponente iteriert derzeit über alle Widgets und übergibt die Widget-ID an jede Widget-Smart-Komponente:
%Vor%Meine Widget-Komponente ist so:
%Vor%Wie kann ich jede Widget-Komponente verbinden, so dass sie nur Status-Updates für ihr eigenes Widget-Objekt erhält und der verbundene Widget-Reduzierer sich nur auf einzelne Widget-Objekte und nicht auf eine Sammlung davon bezieht?
Sehen Sie sich zunächst erneut an: Ссылка
Wenn ich die Frage verstehe, ist das, was Sie suchen. Nehmen wir an, der Status der Widget-ID 2 ändert sich, Widget 1 und Widget 3 kümmern sich nicht um den Status der Widget-ID 2. Nur Widget 2 muss diese Änderung widerspiegeln. Erneut auswählen gibt Ihnen die Möglichkeit, "Memo" -Auswahlfunktionen zu erstellen. Dies mag sich wie ein schickes Wort anhören, aber in der Praxis bedeutet dies, dass nur der Eingabewert eines Selektors den nächsten Zustand berechnet.
Im Widget-Beispiel würden Sie Auswahlfunktionen erstellen, die den Status nur dann neu berechnen, wenn sich das betroffene Zustandssegment geändert hat.
Mögliches Beispiel:
%Vor%Ich habe keine Ahnung, ob dieser Code funktioniert, schrieb dies auf einer Zugfahrt mit wackeliger Internetverbindung, aber das ist die Hauptidee ...
Wie für einen Reduzierer & Amp; Action-Ersteller (Sie werden wahrscheinlich so etwas tun):
%Vor%Haben Sie danach gesucht?
Tags und Links javascript reactjs redux