Реагируйте: проблемы с ... распространением - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь воссоздать пример Redux из курса Дана Абрамова. Распространение {...store.getState()} на уровне приложения не работает, Redux изменяет состояние, а React не выполняет повторную визуализацию.

Когда я заменяю строку 121 на строку 123, код выдает ошибку.

Полный код здесь: https://github.com/asaadsaad/redux-react-code/blob/master/13-redux.html

Государственный объект: { todos: [{id, text, completed}], visivility: 'ALL' }

Эта строка отлично работает: <TodoApp todos={store.getState().todos} visibility={store.getState().visivility} />

Эта строка не работает: <TodoApp {...store.getState()} />

Почему это происходит?

1 Ответ

0 голосов
/ 30 августа 2018

У вас есть опечатка в вашей combineReducer части:

const appReducer = combineReducers({
    todos: todos_reducer,
    visivility: visibility_reducer
})

Измените его на: visivility -> visibility

Итак, почему это работает с оригинальным? См:

visibility={store.getState().visivility}

Здесь вы передаете store.getState().visivility состояние как visibility вашему приложению. Опечатка зафиксирована здесь по счастливой случайности. Но когда вы распространяете объект, visivility идет как есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...