Quería verificar qué sucede cuando usa this.setState varias veces (2 veces por el bien de la discusión). Pensé que el componente se procesará dos veces, pero aparentemente solo se procesará una vez. Otra expectativa que tenía era que tal vez la segunda llamada para setState se ejecutará sobre la primera, pero lo adivinó, funcionó bien.
Enlace a un 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')
);
Como verá, una alerta que dice "render" aparece en cada render.
¿Tiene una explicación de por qué funcionó correctamente?
this.state.alex
, ¿qué sucede si agrega un elemento que también dependethis.state.value
?