Estoy tratando de hacer un bucle para obtener la API, la API toma un parámetro y devuelve si el parámetro es verdadero o falso.
He usado useEffect hook y looping the settingTypes y dentro del ciclo estoy llamando a la API y desde la respuesta, estoy almacenando los valores. No quiero hacer como el siguiente código porque cuando se actualiza la API getSettingValues , no se vuelve a obtener la API,
const [activityTypes, setActivityTypes] = useState<any>([]); useEffect(() => { async function fetchData() { settingTypes.map(async (item: any) => { return await Api.user .getSettingValues(item.channelSettingTypeId) .then((response: any) => { setActivityTypes((oldArray: any) => [ ...oldArray, {[item.channelSettingTypeId]: response.settingValue}, ]); }); }); } fetchData(); }, [activityFeedData.activityList, settingTypes]); Estoy tratando de hacerlo usando la consulta de reacción. Debajo del código está el enlace de consulta de reacción, useGetSettingValues recibe un parámetro y devuelve si el parámetro es verdadero o falso.
const useGetSettingValues = (params: any) => useQuery([SETTING_VALUE, params], () => Api.user.getSettingValues(params), { initialData: {data: ''}, }); Mi principal problema es que quiero hacer un bucle en la API useGetSettingValues y almacenar todos los datos de respuesta en un estado. como el siguiente código
await Api.user .getSettingValues(item.channelSettingTypeId) .then((response: any) => { setActivityTypes((oldArray: any) => [ ...oldArray, {[item.channelSettingTypeId]: response.settingValue}, ]); });¿Alguna idea de cómo puedo lograrlo?