Пишу калькулятор на реакте
constructor() {
super();
this.state = {
valueInput: 0,
firstOperand: '',
secondOperand: '',
result: '',
}
this.renderButton = this.renderButton.bind(this);
this.refreshInput = this.refreshInput.bind(this);
}
refreshInput(event) {
const target = event.target.innerHTML;
//if you clicked a number
if(!isNaN(parseFloat(target)) && isFinite(target)) {
this.setState({
firstOperand: this.state.firstOperand + target,
valueInput: this.state.firstOperand,
})
}
}
Функция refreshInput висит обработчиком на всех кнопках калькулятора. Почему получается опоздание в 1 шаг при обновлении вывода значения в input
То есть получается, что я нажимаю кнопку, а инпут обнуляется, потом нажимаю второй раз кнопку - тогда выводится значение первого нажатия и т.д.