Обработка данных внутри компонента React
Есть функция обработчик в компоненте React:
const handleChange = () => {
const values = getValues();
setMainData(mainData => Object.assign(mainData,values));
onSubmitParent(mainData);
console.log(mainData);
}
Так же есть кусок компонента:
<input ... onKeyPress={handleChange} />
Необходимо при вводе в инпут запускать функцию, передающую данные в след компонент (с этим всё нормально).
Но, значение инпута(которое передается) не берет новые данные (только данные с прошлого шага).
Пример: при последовательном вводе "3+4", будет выводить {},{3},{3+}, хотя надо {3},{3+},{3+4}
Решение через setTimeout работает, но может есть другие способы?
const handleChange = () => {
setTimeout(() => {
const values = getValues();
setMainData(mainData => Object.assign(mainData,values));
onSubmitParent(mainData);
console.log(mainData);
}, 0);
}