【发布时间】:2015-05-12 17:57:53
【问题描述】:
我有一个 React 组件,其中包含许多 <TextInput> 组件,它们只是文本 <input> 元素的简单包装。示例:
<div>
<TextInput value={person.FirstName} ... />
<TextInput value={person.LastName} ... />
</div>
我也有一些由 person 对象表示的状态。例如:
{
"FirstName": "Buster",
"LastName": "Posey"
}
每个<TextInput> 组件管理它自己的内部状态,即文本<input> 在给定时间的值。
当我单击“保存”按钮时,我想确保 person 对象具有来自所有 <TextInput> 组件的最新值。
我可以想到两种方法来做到这一点:
-
事件(onKeyDown、onChange、onBlur)。
<TextInput>中的一个事件将创建一个动作,它通过调度程序,并且商店一次更新一个字段的人员对象。 - 参考。我知道这是一种反模式,但它确实看起来简单得多。当单击 Save 并拉出状态并触发操作时,我可以迭代 refs。
这样做的惯用方式是什么?
【问题讨论】:
标签: javascript reactjs reactjs-flux