기존
useEffect(() => {
const setBoxHeight = () => {
if (detailBoxRef.current) {
const itemHeight = 4.5;
const itemCount = groupedData.reduce((count, group) => count + group.data.length, 0);
const calculatedHeight = itemHeight * itemCount + 3 * itemCount;
detailBoxRef.current.style.height = `${calculatedHeight}vh`;
}
};
setBoxHeight();
}, [groupedData, detailBoxRef]);
수정후
useEffect(() => {
if (detailBoxRef.current) {
const itemCount = monthData?.reduce((height, group) => height + group.data.length, 0) || 0;
const 날짜갯수 = monthData.length;
const calculatedHeight = (itemCount + 날짜갯수 * 2 - 5) * 5;
detailBoxRef.current.style.height = `${calculatedHeight}vh`;
console.log(itemCount)
}
}, [monthData, detailBoxRef]);
6월과 7월의 데이터 갯수가 다르지만, 일관된 간격과 비율을 지키면서 렌더링이 된다...
'React' 카테고리의 다른 글
프론트엔드 디자인 참고 페이지 모음 (0) | 2023.08.11 |
---|---|
useEffect의 의존성 배열 오류 해결 => useCallBack (0) | 2023.07.22 |
서버에서 데이터는 들어왔는데, 렌더링이 안되는경우 (0) | 2023.07.16 |
fetch 보다 axios를 쓰는 이유 (0) | 2023.07.05 |
setState 함수 호출 이후에 상태값을 바로 사용못함 (0) | 2023.06.21 |