Спасибо за песочницу!
Ваша переменная "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);
.