При обновлении состояния на основе существующего состояния вы всегда должны использовать функцию обратного вызова, так как React ожидает, если появятся какие-либо другие обновления состояния, перед тем как он отобразится.Поэтому ваш код должен выглядеть следующим образом:
this.setState(
(prevState) => ({time: prevState.time + 1}),
() => {alert("hello, time is updated");}
);
Другими словами, всякий раз, когда ваше новое состояние зависит от предыдущего состояния, вы должны использовать метод обратного вызова состояния .