2016-11-23 5 views
0

Ich möchte Objekte verwenden, um zu entscheiden, welcher Teil meines Reduzierers ausgeführt wird. Mein aktuelles Beispiel stammt hauptsächlich von den Redux-Dokumenten. Beispiel:Mehrere Schlüssel für Reduktor

Dies funktioniert für die meisten Anwendungsfälle, aber ich würde es vorziehen, die gleiche Funktion für mehrere Aktionen ausführen zu lassen. Zum Beispiel in einem typischen Minderer würde ich Folgendes tun:

case: ADD_TODO: 
case: ADD_TODOS: 
    // Do stuff and return state 
    return [ ...state, text: action.text ] 

ich wie etwas zu tun in der Lage sein wollen:

createReducer(initialState, { 
    [ADD_TODO, ADD_TODOS]: function (state, action) { 
     // do stuff 

Irgendwelche Ideen für einen sauberen Ansatz?

Antwort

0

Sie müssen nur die Funktion separat definieren, und es für mehrere Schlüssel wiederverwenden:

function addTodo(state, action) { 
    // do stuff 
} 

export default createReducer(initialState, { 
    [ADD_TODO] : addTodo, 
    [ADD_TODOS] : addTodo, 
}); 
Verwandte Themen