Все:
Я новичок в React и Redux, когда я прочитал пример кода TodoList (хотя это просто ReactJSers, но все же очень сложный для меня), мне интересно, после того, как мы отправим действие, а магазин изменит todo, где пользовательский интерфейс замечен, чтобы обновить его представление? Я думал, что должен быть какой-то код вроде setState()
, но я не могу его найти.
Итак, может ли кто-нибудь дать мне подсказку, как работает подписка в этом примере, вы можете начать с:
VisibleTodoList.js
onTodoClick: (id) => {
dispatch(toggleTodo(id))
}
Или
U может поговорить с этим примером счетчика, после того как onClick (или onIncrement или onDecrement) запущен, как React знает, что store.getState() должен быть вызван, а компонент внутри Counter должен быть обновлен?
<Counter
value={store.getState()}
onIncrement={() => store.dispatch({ type: 'INCREMENT' })}
onDecrement={() => store.dispatch({ type: 'DECREMENT' })}
/>,
благодаря
Обратите внимание на последнюю строку в https://github.com/reactjs/redux/blob/master/examples/counter/index.js. Присутствует прослушиватель:
store.subscribe(render)
Согласно документации Redux:
Добавляет прослушиватель изменений. Он будет вызываться в любое время, когда будет отправлено действие, и некоторая часть дерева состояний может потенциально измениться. Затем вы можете вызвать getState(), чтобы прочитать текущее дерево состояний в обратном вызове.