Tôi muốn kiểm tra điều gì sẽ xảy ra khi bạn sử dụng this.setState nhiều lần (2 lần vì lợi ích của cuộc thảo luận). Tôi nghĩ rằng thành phần sẽ được hiển thị hai lần nhưng dường như nó chỉ được hiển thị một lần. Một kỳ vọng khác mà tôi có là có thể cuộc gọi thứ hai cho setState sẽ chạy trên lệnh đầu tiên, nhưng bạn đoán nó - hoạt động tốt.
Liên kết đến một JSfiddle
var Hello = React.createClass({
render: function() {
return (
<div>
<div>Hello {this.props.name}</div>
<CheckBox />
</div>
);
}
});
var CheckBox = React.createClass({
getInitialState: function() {
return {
alex: 0
};
},
handleChange: function(event) {
this.setState({
value: event.target.value
});
this.setState({
alex: 5
});
},
render: function() {
alert('render');
return (
<div>
<label htmlFor="alex">Alex</label>
<input type="checkbox" onChange={this.handleChange} name="alex" />
<div>{this.state.alex}</div>
</div>
);
}
});
ReactDOM.render(
<Hello name="World" />,
document.getElementById('container')
);
Như bạn sẽ thấy, một cảnh báo cho biết 'kết xuất' sẽ bật lên trên mỗi kết xuất.
Bạn có lời giải thích tại sao nó hoạt động bình thường không?
this.state.alex
- điều gì sẽ xảy ra nếu bạn thêm một phần tử phụ thuộc vàothis.state.value
?