http://jsbin.com/zehoceloka/1/edit推空数组反应的状态
我输入的数量是动态的,这取决于有多少数据具有API。所以首先我将它映射到视图。但也有一个功能,用户可以添加新项目。我试图推新的空阵列,但没有任何反应。我做错了吗?
class HelloWorldComponent extends React.Component {
constructor(){
super()
this.addNewRow = this.addNewRow.bind(this);
this.state = {
"rules":[
"age must be above 10",
"must wear shoe"
]
}
}
addNewRow(e){
const updated = this.state.rules.push("");
this.setState({rules:updated});
}
render() {
return (
<div>
{this.state.rules.map(obj =>
<input type="text" defaultValue={obj} />
)}
<button>Add New Rules</button>
<br /><br />
<pre>{JSON.stringify(this.state.rules,null,2)}</pre>
</div>
);
}
}
相关:http://stackoverflow.com/questions/30889465/better -faster-way-for-changing-react-array-state-than-cloning-it –