В качестве идентификатора вам не следует обновлять state
, получая доступ к компоненту state
так, как вы это сделали, а скорее так:
increaseAge = () => {
this.setState((state) => ({ age: state.age + 1 }));
// or shorter
this.setState(({ age }) => ({ age: age + 1 }));
}
Проблема с вашей реализацией возникает из-за тот факт, что обновления состояния React являются асинхронными и могут быть пакетными, так что ваше обновление age
может в конечном итоге закончиться перезаписью age
каким-либо другим вызовом setState
и последующим неправильным обновлением.
Вы можете принять взгляните на документацию .