React.js que tiene un estado basado en otro estado

Me encuentro con algunos problemas con React.js y el estado no se establece inmediatamente al llamar a setState (). No estoy seguro de si hay mejores formas de abordar esto, o si realmente es solo una deficiencia de React. Tengo dos variables de estado, una de las cuales se basa en la otra. (Violín del problema original:http://jsfiddle.net/kb3gN/4415/ puede ver en los registros que no está configurado de inmediato cuando hace clic en el botón)

setAlarmTime: function(time) {
  this.setState({ alarmTime: time });
  this.checkAlarm();
},
checkAlarm: function() {
  this.setState({
    alarmSet: this.state.alarmTime > 0 && this.state.elapsedTime < this.state.alarmTime
  });
}, ...

Cuando llamesetAlarmTime, ya quethis.state.alarmTime no se actualiza de inmediato, la siguiente llamada acheckAlarm conjuntosalarmSet basado en el valor anterior dethis.state.alarmTime y por lo tanto es incorrecto.

Resolví esto moviendo la llamada acheckAlarm en la devolución de llamada desetState ensetAlarmTime, pero tener que hacer un seguimiento de qué estado es realmente "correcto" e intentar encajar todo en las devoluciones de llamada parece ridículo:

setAlarmTime: function(time) {
  this.setState({ alarmTime: time }, this.checkAlarm);
}

¿Hay una mejor manera de hacerlo? ¡Hay algunos otros lugares en mi código que hago referencia al estado que acabo de configurar y ahora no estoy seguro de cuándo puedo realmente confiar en el estado!

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta