У меня есть элемент инпута
<Input type='text' onChange={this.onEmailChanged} value={this.state.email} placeholder="Email"/>
Функция обработки:
onEmailChanged = (e) => {
this.setState({
email: e.target.value
})
console.log(this.state.email);
}
Но когда я изменяю стейт вводя данные он изменяется с задержкой, вот так:
ввел 't' => консоль : (пусто)
ввел 'test@mail.ru' => консоль : 'test@mail.r'
подскажите, как избавиться от такого эффекта?
Ты правильно изменяешь state. Но дело в том, что это асинхронная операция, и что бы выполнить некий код(в твоем случае вывод в консоль) только после того как произошла мутация состояния, можно, например, использовать callback функцию:
this.setState(
{
email: e.target.value
},
() => {
console.log(this.state.email);
}
);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Возникла проблема, пишу программу на WPF и мне нужно заполнять TextBox Дело в том, что я заполняю TextBox последовательно после проверки разных условий