const searchCacheFlightHotelsPackage = () => { setValues({ ...values, loading: true }); let result = null; getCacheFlightHotelsPackage() //returns a promise .then((data) => { if (data.list.length > 0) { result = paginate(data.list); hotelFlightPackageList = data.list; } else { console.log("sorry no packages found========"); } console.log(hotelFlightPackageList); setValues({ ...values, loading: false }); }) .catch((e) => { console.log("packages data error=======", e); setValues({ ...values, loading: false }); }); Tengo variables fuera de esta función como let hotelFlightPackageList = []; que se actualiza en el método, pero una vez fuera del método, vuelve a ser una matriz vacía. También intenté usar setValues, del cual puede ver un ejemplo con la configuración de carga en falso. Ojalá pudiera actualizar el estado global en la búsqueda, pero da un error de gancho de reacción al hacerlo.
¡Resulta que puede actualizar el estado global en fetch una vez que convierte la variable de estado global en constante fuera de fetch! ¡Trabajando ahora!