프로젝트

오디약(실전프로젝트) 트러블슈팅 - 데이터 비동기 처리

stella0905 2023. 6. 29. 06:22

오류 내역


오류가 발생한 경로

storeLocation.forEach에서 location 객체의 latitude와 longitude값을 읽을 때 undefined가 나타나는 문제가 발생

  • 오류 발생된 코드
  • storeLocation.forEach(location => { const marker = new kakao.maps.Marker({ position: new kakao.maps.LatLng(location.latitude, location.longitude), image: markerImage, });

오류를 해결하기 위해 시도해본 것들

시도1

State에게 들어올 값의 타입을 미리 알려줘서 undefined가 나타나지 않고 [] 빈배열 상태로 들어가게 한다.

const [date, setData] = useState({});

이렇게 변경해봤으나 에러코드는 동일하게 발생함

시도2

Optional Chaining ?(물음표) 연산자 사용하기

storeLocation.forEach(location => {
  const marker = new kakao.maps.Marker({
    position: new kakao.maps.LatLng(location.latitude, location.longitude),
    image: markerImage,
  });

?.은 ?.'앞’의 평가 대상이 undefined나 null이면 평가를 멈추고 undefined를 반환하기 때문에 결국에는 값이 undefined가 들어가서 동일한 에러가 나게됨