Доброго времени всем! Столкнулся с такой проблемой:
у меня 3 useEffectдля получения данных и обновления стэйтов
useEffect(() => {
async function fetchData() {
console.log('fetchData_1');
const user = await rsmobService.getUser(itemId);
const userItem = user[0];
if(userItem.otkritDostupUIT==='1'){
setCheckedUitOtkrit(true);
}
if(userItem.uchetkaBezIP==='1'){
setCheckedUchetkaBezIp(true);
}
if(userItem.arhive==='1'){
setCheckedArhive(true);
}
setUser(userItem);
}
fetchData();
}, []);
useEffect(() => {
async function fetchData() {
console.log('fetchData_2');
const divisions = await rsmobService.getAllDivisions();
setDivisions(divisions);
}
divisions.map((division)=>{
console.log(`${userItem.podrazd} = ${division.divisionName}`);
if (userItem.podrazd === division.divisionName){
setSelectedDivision(division.id);
}
});
fetchData();
}, []);
useEffect(() => {
async function fetchData() {
console.log('fetchData_3');
const sluzhbaData = await rsmobService.getAllSluzhba();
setSluzhba(sluzhbaData);
// console.log(sluzhbaData);
}
sluzhbaData.map((sluzhba)=>{
console.log(`${userItem.sluzhba} = ${sluzhba.sluzhbaName}`);
if (userItem.sluzhba === sluzhba.sluzhbaName){
setSelectedSluzhba(sluzhba.id);
}
});
fetchData();
}, []);
но после отработки всех useEffect у меня в setDivisions и setSluzhba приходят пустые массивы, я так понимаю не успевают отработать: const divisions = await rsmobService.getAllDivisions(); и const sluzhbaData = await rsmobService.getAllSluzhba();
Подскажите как дождаться получения данных или может я не правильно делаю. Помогите кто может. Спасибо!