5월4일(목) MapAppoinment.js에서 SelectedDate값 밀리는 버그 해결.

Mindfulness·2023년 5월 4일
0

MapAppoinment.js에서 SelectedDate값 밀리는 버그 해결.
문제의 원인은 useState와 useEffect의 비동기적인 특성 때문. useState로 설정된 값을 바로 가져오는 것이 아니라, useState가 실행된 후 useEffect가 실행되기 전까지 시간적 차이가 발생할 수 있다. 따라서, mapRequestDto를 직접 사용하는 것이 아니라, selectAppointmentHandler 함수 내에서 값을 가공하여 사용하면 해결된다. 예를 들어, selectAppointmentHandler 함수 내에서 아래와 같이 appointment 값을 이용하여 mapRequestDto를 가공한다.
버그났던 코드:

const selectAppointmentHandler = () => {
  setAppointment(moment(value).format('YYYY-MM-DD'));
  mutate(mapRequestDto);
};

해결코드:

const selectAppointmentHandler = () => {
  const formattedDate = moment(value).format('YYYY-MM-DD');
  setAppointment(formattedDate);
  const updatedMapRequestDto = {
    ...mapRequestDto,
    selectedDate: formattedDate,
  };
  mutate(updatedMapRequestDto);
};
profile
Junior Frontend Developer

0개의 댓글