所有
我是React和Redux的新手,当我阅读TodoList示例代码时(虽然它对ReactJSers来说很简单,但对我来说仍然非常复杂),我想知道在我们发布动作之后,商店更改待办事项,UI会被注意到哪里更新其视图?我认为应该有一些像setState()
的代码,但我找不到它。
那么,任何人都可以给我一个提示,在这个例子中订阅是如何工作的,你可以从:
开始VisibleTodoList.js
onTodoClick: (id) => {
dispatch(toggleTodo(id))
}
或
在触发onClick(onIncrement或onNecrement)之后,你可以与这个Counter example交谈,React如何知道应该调用store.getState()并且应该更新Counter里面的组件?
<Counter
value={store.getState()}
onIncrement={() => store.dispatch({ type: 'INCREMENT' })}
onDecrement={() => store.dispatch({ type: 'DECREMENT' })}
/>,
由于
答案 0 :(得分:1)
注意https://github.com/reactjs/redux/blob/master/examples/counter/index.js中的最后一行 有附加的听众:
store.subscribe(render)
根据Redux文档:
添加更改侦听器。每次调度操作时都会调用它,并且状态树的某些部分可能已经更改。然后,您可以调用getState()来读取回调中的当前状态树。