У меня есть такой сценарий, в котором внутри функции я изменяю состояние, вызываю асинхронный метод c и затем хочу использовать обновленное состояние. проблема в том, что состояние не изменилось, хотя запускается после асинхронного вызова c:
function MyComponent(){
const [values, setValues] = useState<number[]>([]);
const updateValue = () => {
setValues(values.push(1));
myAsyncMethod().then(()=>{
console.log(values); //still empty array '[ ]' !
setValues(values.remove(1)); //no value to remove
});
};
return(
<OtherComponent values={values} updateValue={updateValue}/>
);
}
чего не хватает? Я не хочу использовать 'useRef', так как я хочу сделать рендер при изменении значения. Есть ли способ, чтобы я мог получить обновленное состояние после вызова asyn c?