我对React堆栈还很陌生,我想了解数据如何在智能/哑巴组件中流动。
这是我的jsbin来说明问题。

我想从输入中获取值并单击clickCallback,并调度“ ADD_TODO_ITEM”操作以添加具有输入名称的待办事项。通常在React中数据流向下游,我不太清楚如何解决这个问题。我有主意向此输入添加onChange回调并存储最新值,这在我检查过后会起作用,但是我几乎100%确信这是不正确的方法。

最佳答案

拥有clickCallback并向新项目分派“ ADD_TODO_ITEM”操作正是您要执行的操作,并且对于通量来说完全是惯用的。当商店数据更新时,组件将重新呈现自己。

您正在从源头更新数据,更改将沿着渲染管道进行。

至于从输入字段获取值,取决于您。最简单的事情就是简单地使用一些DOM操作功能(也许给文本字段一个id)。如果您执行以下操作,则clickCallback处理程序将获取正常事件,并且可以将按钮标识为event.target。从那里,您可以轻松获得文本字段值(它位于DOM中的按钮旁边)。

      <button onClick={this.props.clickCallback.bind(this)}>Add</button>


我无法说说减速器的工作方式。我使用其他通量实现alt。在这种情况下,将新项目追加到商店中的集合是非常典型的。

07-26 01:29