Прямо сейчас, console.log
сразу вызывается с текущим состоянием, которое является начальным состоянием, которое вы установили, потому что setState
является асинхронным (то есть состояние не обновляется немедленно с последним изменением).
Из-за этого нам нужно отложить вызов console.log
, заключив его в функцию. Мы делаем это так, чтобы он мог позже вызываться setState
, а не каждый раз, когда вы вызываете setState
. Для этого вы передаете функцию обратного вызова, которая будет выполняться после вашего setState
было выполнено.
this.setState({ testItem: input}, () => console.log(this.state))