Ja - alle Reduzierungen werden aufgerufen, wenn Sie die Aktion versenden. Sie werden einen netten Nebeneffekt dazu bekommen. Da jeder Reduzierer den Standardzustand zurückgibt, wenn die Aktion nicht gefunden wird, erhalten Sie Ihren Anfangszustand mit einer einzigen Aktion.
Es könnte von Vorteil sein, obwohl ich es noch nicht versucht habe, eine einzige Aktion zu haben, die mehrere Reduzierungen betrifft, die den Zustand in zwei verschiedenen Teilen des Ladens ändern.
Wenn Sie erneut hinzufügen, wie @Luanped vorgeschlagen, können Sie viele kranke Ergebnisse erhalten!
Mein aktueller Stack ist:
- Redux für Staat, Aktionen Management
- Reselect für die Datentransformationsschicht
- für Ansichten Reagieren
zum Arbeitsablauf Hinzufügen erneut auswählen und es macht zusammen mit Reduzierern zu arbeiten war das Beste, was mir letzte Woche passiert ist.
Eigentlich verwende ich vue.js mit Redux, danke für Ihren Vorschlag trotzdem. – elaijuh
Sie sind willkommen :) aber egal, obwohl alle Reducer aufgerufen werden, was wirklich passiert ist, dass die Switch-Anweisungen überprüft werden, und nur der Reducer, der diese Aktion handhabt, wird einige Arbeit tun, alle anderen tun nichts, also wirklich ist kein Leistungsproblem. Es ist erwähnenswert, dass moderne JS große Switch-Anweisungen in eine Jump-Tabelle mit O (1) Zugriffszeit optimieren, so dass Sie keine großen Switch-Anweisungen in Reducern auswerten müssen, selbst wenn die Aktion oft nicht übereinstimmt irgendwelche Bedingungen. – luanped
Ein Action-Beobachter-Muster in Reducer hätte besser, anstatt es durch Schalter zu tun, es ist ein perfektes Beispiel für Beobachter Muster –