У меня есть два счетчика, COUNTER_1
и COUNTER_2
. Поэтому я создал несколько редукторов для их обработки.
export default (state = 0, action) => {
switch (action.type) {
case "INCREMENT_1":
return state + 1;
case "DECREMENT_1":
return state - 1;
default:
return state;
}
};
Это для COUNTER_1
и аналогично для COUNTER_2
Я создал
export default (state = 0, action) => {
switch (action.type) {
case "INCREMENT_2":
return state + 1;
case "DECREMENT_2":
return state - 1;
default:
return state;
}
};
Теперь я создал для них создателя действий, который выглядит как
export function increment(counterNumber) {
let stateSelector = counterNumber === 1 ? "INCREMENT_1": "INCREMENT_2"
return {
type: stateSelector
};
}
Можно ли иметь тот же action creator
, как показано в примере выше для нескольких редукторов. У меня могут быть дополнительные функции для COUNTER_1
, которые могут отсутствовать для COUNTER_2
где-нибудь в будущем. Но основными способностями для обоих будут INCREMENT
и DECREMENT
.
Это сделано для того, чтобы позже я мог независимо добавлять функции к обоим счетчикам, сохраняя основные функции одинаковыми. Может быть, добавить INCREMENT_BY_TWO
только для COUNTER_1
.