Ich habe das Argument für die Trennung von Aktionen und Reduzierungen gesehen, weil sie eine Viele-zu-Viele-Beziehung haben.Warum Aktionen + Reduzierungen in Redux trennen?
Ich glaube nicht, dass das tatsächlich in Redux gilt. Da nur 1 Datenspeicher vorhanden ist, sollten Aktionen für Reduzierungen 1: n-Werte sein.
In der Regel werden Reduzierungen auf eine bestimmte Änderung für einen bestimmten Datenspeicher angewendet.
MY_ACTION = "MY_ACTION"
function reducer(state, action) {
switch(action.type) {
case MY_ACTION: // stuff with my action to create new state
default: return state
}
}
Wir können mehrere Minderer mit combineReducers
kombinieren also warum der Handler selbst für eine Aktion mit der Aktion nicht definieren.
Zum Beispiel
class Action {
constructor(type) {
this.type = type
this.handlers = []
}
add_handler(handler) {
this.handlers += handler
}
get_reducer() {
reducer = combineReducers(this.handlers)
return (state, action) => {
if(action.type == this.type) {
return reducer(state, action)
}
return state
}
}
}
Mit dem „Enten“ -Muster, am Ende wir die wichtigsten Reduzierungen im selben Modul wie die Aktion Erklärung setzen.
Gibt es einen Grund, Reduzierungen + Aktionen getrennt von Redux zu halten?
Ich kann nicht sagen, was Sie fragen oder illustrieren. – JMM