
간단히 정리하는 오늘의 시행착오 & 에러 해결! 🧑💻
이번주, 저번주 입장객 수를 백엔드에서 받아서 관리자 페이지에서 표로 보여주고 있다.
이번주에 입장한 고객 수 데이터를 받아올때
'url/$ { 이번주 시작 날짜(월요일) }/${어제 날짜}' 로 받아오고 있었다.
화요일이면 월요일 방문객 수를 ,목요일이면 수요일까지 쌓인 방문객 데이터 수를 보여줘야한다.
=> 그래서 월요일일 경우에는 한 주의 시작이므로, 처음 데이터를 0으로 강제로 부여야해야한다. 데이터 내 해당 배열의 값들을 모두 0으로 처리해서 저장했다.
처음에는 월요일 데이터 값을 생각하지 못하고 로직을 짰는데, 분기처리를 잘못했음을 깨닫고 바로 수정했다.
const fetchDataFromUrls = async () => {
const isMonday = new Date().getDay() === 1; // 월요일일 경우
const setHistoryData = (index, data) => {
switch (index) {
case 0:
setThisWeekHistory(data);
break;
case 1:
setLastWeekHistory(data);
break;
case 2:
setLastYearHistory(data);
break;
}
};
try {
for (let i = 0; i < urls.length; i++) {
const response = await axios.get(urls[i]);
const responseData = response.data;
if (responseData !== undefined) {
if (isMonday) {
if (i === 0) {
setHistoryData(i, [
{ vis_branchcode: 'A', vis_totalcnt: '0' },
{ vis_branchcode: 'B', vis_totalcnt: '0' },
{ vis_branchcode: 'C', vis_totalcnt: '0' },
{ vis_branchcode: 'D', vis_totalcnt: '0' },
{ vis_branchcode: 'E', vis_totalcnt: '0' },
{ vis_branchcode: 'F', vis_totalcnt: '0' },
{ vis_branchcode: 'G', vis_totalcnt: '0' },
]);
} else {
setHistoryData(i, responseData);
}
}
}
}
} catch (error) {
console.error('Error fetching data:', error);
}
};