서버에서 데이터는 들어왔는데, 렌더링이 안되는 경우가 있다
useEffect(() => {
const handleFetchData = () => {
dayRender(userId, month, date)
.then((response) => {
// 데이터 처리 로직
console.log(response.data);
console.log(response.data.data)
setDayConsumptionData(response.data.data.paymentResponses);
setDaySumData(response.data.data.daySummary);
})
.catch((error) => {
// 에러 처리 로직
console.log(error);
});
};
handleFetchData();
}, []);
분명 console.log(response.data);에 서버에서 준 데이터가 들어오는데..
왜 setState(response.data.속성)이 안될까...
원인은 서버에서 준 데이터가 data로 2번 감싸져 있기 때문이다...
console.log(response.data.data); 라고 찍으면 잘 나온다
setDayConsumptionData(response.data.data.paymentResponses);
setDaySumData(response.data.data.daySummary);
바꿔주면 렌더링이 잘 되는군
'React' 카테고리의 다른 글
데이터가 늘어나도 일관된 높이 간격 유지하기 (0) | 2023.07.22 |
---|---|
useEffect의 의존성 배열 오류 해결 => useCallBack (0) | 2023.07.22 |
fetch 보다 axios를 쓰는 이유 (0) | 2023.07.05 |
setState 함수 호출 이후에 상태값을 바로 사용못함 (0) | 2023.06.21 |
(해결과정기록) 기대와 달리 다른 컴포넌트에서 작동이 되는 경우 (1) | 2023.06.11 |