如何在Redux Todolist示例中更新UI

时间:2016-03-14 20:19:15

标签: reactjs redux

所有

我是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' })}
    />,

由于

1 个答案:

答案 0 :(得分:1)

注意https://github.com/reactjs/redux/blob/master/examples/counter/index.js中的最后一行 有附加的听众:

store.subscribe(render)

根据Redux文档:

  

添加更改侦听器。每次调度操作时都会调用它,并且状态树的某些部分可能已经更改。然后,您可以调用getState()来读取回调中的当前状态树。