Как обновить state при первом клике?
onSelectCard = () => {
this.setState((state) => {
return {
firstGuess: 'some words'
};
});
console.log('firstGuess: ', this.state.firstGuess)
}
this.state.firstGuess обновляется лишь при втором клике, а нужно при первом
то есть при первом клике console.log('firstGuess: ', this.state.firstGuess) - выводит старое значение this.state.firstGuess
при втором клике уже обновляется и console.log выводит firstGuess: some words
Почему state обновляет только при втором клике, как можно это исправить?
onSelectCard = () => {
this.setState({ firstGuess: 'some words'});
console.log('firstGuess: ', this.state.firstGuess)
}
этот код работает так же.
Пожалуйста, подскажите как быть.
Ответы (1 шт):
Автор решения: p1uton
→ Ссылка
setState работает асинхронно
Вызовы setState являются асинхронными, поэтому не стоит рассчитывать, что this.state отобразит новое значение мгновенно после вызова setState.
https://ru.reactjs.org/docs/faq-state.html#why-is-setstate-giving-me-the-wrong-value