발생한 문제
상대적으로 빠르고 간단하게 해결한 버그인데, 예를 들어 3월 달력에서 4월 1일 날짜를 클릭하면 4월 달력이 나오는 것이 아니라, 2월 달력이 표시되는 버그가 있었다.
해결 방법
이 문제는 왠지 숫자 쪽에 이상이 있다고 판단되어 아래와 같이 숫자 하나를 변경해 주었다.
// getMonth() + 1 에서 getMonth() + 2로 수정해 다음 달이 표시되도록 수정
<ExtraDateComponent
key={`next-${date}`}
className={isSelected(date) ? 'selected' : ''}
onClick={() =>
handleDateSelect(currentDate.getFullYear(),
currentDate.getMonth() + 2, date
)}
>
{date}
</ExtraDateComponent>
TypeScript
복사
고민되는 부분
여기서 또 고민이 되는 부분. 과연 이런 숫자는 이 코드를 처음 보는 사람이 어떤 의미인지 직관적으로 알 수 있을까? 주석만 달면 될까?
웬만하면 코드를 Semantic 하게 쓰려고 하는데 이 부분 또한 리팩토링 할 때 고려해 보아야 겠다.