我有一个动态的儿童列表,这是表单输入。Reactjs管理有状态的孩子
例如:
var FormRows = React.createClass({
getInitialState: function() {
return {
rows: []
}
},
createRows: function() {
this.props.values.maps(value){
rows.push(<FormRow ...handlers... ...props... value={value} />
}
},
addNewRow{
// add a new row
},
render: function() {
return (
<div>
{this.state.rows}
</div>
);
});
var FormRow = React.createClass({
getInitialState: function() {
return {
value: this.props.value || null
}
},
render: function() {
<input type='text' defaultValue={this.state.value} ...changeHandler ... }
}
});
这是一种简单化的版本,但这个想法,是它的一个动态的形式,在这里用户可以点击加号按钮添加一行,一个减号按钮,这将行设置为隐藏的可见性。
此状态嵌套n层深。真正将这个国家从这些儿童中解救出来并提交表格的最好方法是什么?我可以使用'ref'添加一个函数getFormValue():{return this.state.value}到FormRow按钮,但我不确定这是否是最佳实践方式。
我发现自己经常使用这种模式,这是一组未定尺寸的儿童,需要通过状态。
由于
的输入,以一些模型
有趣。不知道你可以像这样封装状态并在该模型上调用方法。我希望这被记录在React文档中。 – bonez 2014-11-25 15:03:14