1
在下面的代码中,当我改变输入文本时,它会错误地更新输入的值,但是当我按回车键后,数据更新在两个ul
标签中。任何想法我做错了什么?如何更新反应中类的错误状态?
<script type="text/jsx">
/** @jsx React.DOM */
var todoList = React.createClass({
render : function(){
var createItem = function(itemText , idx){
return <li key={idx+itemText} >{itemText}</li>
};
return <ul>{this.props.itemlist.map(createItem)}</ul>
}
});
var todoApp = React.createClass({
getInitialState: function() {
return {items: [], text: ''};
},
handleChange:function(name ,e){
this.state.text = e.target.value;
this.setState({ name : e.target.value });
},
handleKeyDown : function(e , idx){
if(e.keyCode == 13){
var nextItems = this.state.items.concat([this.state.text]);
this.setState({ items : nextItems , text : '' });
}
},
render :function(){
var results = this.props.items;
return (
<div>
{results.map(function(idx ,item){
this.state.items[idx] = item;
return (
<div key={'outer'+idx}>
<todoList itemlist={this.state.items} />
<input key={idx} onChange={this.handleChange.bind(this, item)} onKeyDown={this.handleKeyDown} onSubmit={this.handleSubmit} />
</div>
);
} , this)}
</div>
);
}
});
React.renderComponent(<todoApp items={['item1','item2']} />, document.getElementById('example'));
</script>
感谢的答案,但在一个职位,然后按回车,然后输入评论时的添加到这是不对的和我的想法,前Facebook的列表的评论下面的帖子。 – user3650568
请帮我@FakeRainBrigand – user3650568
我不明白你想要它做什么。 – FakeRainBrigand