Tengo un problema interesante aquí que trataré de esbozar aquí. Tengo un objeto de estado en estado React que se actualiza en dos funciones asíncronas separadas de esta manera:
const [someState, setSomeState] = useState({}) const somefunction1 = async () => { const res1 = ///some api call setSomeState({...someState, res1: res1}) } const somefunction2 = async () => { const res2 = ///some api call setSomeState({...someState, res2: res2}) } await someFunction1(); await someFunction2(); console.log(someState); //{res2: res2}Según el ejemplo anterior, no estoy seguro de por qué falta res1 en este objeto de estado cuando se llaman por separado, la segunda llamada sobrescribe efectivamente los cambios realizados desde la primera llamada. Lo que realmente necesito que se vea así cuando esté hecho es:
console.log(someState); //{res1: res1, res2: res2}¿Hay una mejor manera de escribir este escenario para obtener el resultado esperado? Dado que se supone que somefunction2 debe esperar hasta que se complete somefunction1, no estoy seguro de por qué lo está sobrescribiendo. Cualquier ayuda será apreciada. Gracias.