this.setState를 여러 번 사용할 때 어떤 일이 발생하는지 확인하고 싶었습니다 (토론을 위해 두 번). 구성 요소가 두 번 렌더링 될 것이라고 생각했지만 분명히 한 번만 렌더링되었습니다. 내가 가진 또 다른 기대는 setState에 대한 두 번째 호출이 첫 번째 호출을 통해 실행될 수 있다는 것이지만 당신은 그것을 추측했습니다.
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')
);
보시다시피 '렌더링'이라는 경고가 렌더링 할 때마다 팝업됩니다.
제대로 작동하는 이유에 대한 설명이 있습니까?
this.state.alex
하고 있습니다. 의존하는 요소를 추가하면 어떻게됩니까this.state.value
?