我有一個動態的兒童列表,這是表單輸入。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