axios({url: «url»}).then(res => { setState({…currentState, newField: res.value}) }); просто при установке нового значения оно затирает старое, потому что currentState внутри then возвращает старое содержимое стейта, которое было на момент вызова этого запроса. То что он успел обновится это уже проверено useEffect ом, который выводит актуальное значение стейта после каждого изменения этого стейта.
Так я ж написал, используй коллбэк)
setState(currentState => ({ … }))
Обсуждают сегодня