【发布时间】:2015-01-22 11:54:07
【问题描述】:
我有一个动态的子列表,它们是表单输入。
例如:
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 按钮,但我不确定这是否是最佳实践方式。
我发现自己经常使用这种模式,一组未确定大小的孩子,需要传递状态。
谢谢
【问题讨论】:
标签: javascript reactjs