Почему я получаю сообщение «Ожидается, что редуктор будет функцией».? - PullRequest
0 голосов
/ 02 октября 2018

Я думаю о редуксе / реакции, но у меня проблемы с моим редуктором:

const reducer = (state = 0, action) => {
  switch (action.type) {
    case "INCREMENT":
      return state++;

    default:
      return state;
  }
};

Попытка добавить это в мой магазин:

const store = createStore(reducer);

Как мне этого избежатьошибка?

ссылка на codepen

1 Ответ

0 голосов
/ 02 октября 2018

Спасибо за песочницу!

Ваша переменная "reducer" не определена при выполнении createStore.Либо 1) определите его перед использованием, либо 2) определите его с помощью объявления функции:

function reducer(state = 0, action) {
  switch (action.type) {
    case "INCREMENT":
      return state++;

    default:
  return state;
  }
}

, которое вызывает его «подъем» (см. « Подъем объявления функции »).

После этого вы заметите следующее сообщение:

Ожидаемый слушатель будет функцией.

on store.subscribe(App);.Это связано с тем, что объявления классов не подняты (см. « Подъем »).Таким образом, вы захотите объявление класса App до store.subscribe(App);.

...