Повторное использование логики редуктора, имя действия не определено - PullRequest
0 голосов
/ 14 марта 2019

Я смотрю на этой странице документации: https://redux.js.org/recipes/structuring-reducers/reusing-reducer-logic на редуксе.Я пытаюсь реализовать что-то вроде этого:

function counter(state = 0, action) {
  switch (action.type) {
    case 'INCREMENT':
      return state + 1
    case 'DECREMENT':
      return state - 1
    default:
      return state
  }
}

function createNamedWrapperReducer(reducerFunction, reducerName) {
  return (state, action) => {
    const { name } = action
    const isInitializationCall = state === undefined
    if (name !== reducerName && !isInitializationCall) return state

    return reducerFunction(state, action)
  }
}

const rootReducer = combineReducers({
  counterA: createNamedWrapperReducer(counter, 'A'),
  counterB: createNamedWrapperReducer(counter, 'B'),
  counterC: createNamedWrapperReducer(counter, 'C')
})

Однако я не понимаю, как получить имя от action.И этот код не работает в моем проекте, так как const { name } = action возвращает undefined.

Что мне не хватает?Этот пример завершен?Как я могу это исправить?

...