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>
감사하지만, 하나 개의 포스트를 눌러 다음 입력에 주석을의가 추가되어 입력 할 때 그것은 전 페이스 북, 내 생각에 옳지 않아 게시물의 목록 bellow. – user3650568
제발 도와주세요 @FakeRainBrigand – user3650568
당신이 원하는 것을 이해하지 못합니다. – FakeRainBrigand