Je Lee

트러블 슈팅: 연속된 요청(request)으로 마커가 사라지지 않는 현상

연속된 지도 API 요청으로 마커가 사라지지 않는 현상 해결하기 프로젝트 막바지에 접어들었을 때, 내가 맡은 목적지 페이지가 잘 작동하는지 최종 점검했다. 이 과정에서 마커가 바뀌는 동작을 빠른 시간 내에 연속 요청 했을 때, 마커가 사라지지 않고 누적되는 버그를 발견하였다. 이번 글에는 마커가 바뀌는 동작에 디바운싱을 적용하여 이 문제를 해결...

트러블 슈팅: 데이터가 렌더링되지 않는 문제

트러블 슈팅(Trouble Shooting) 앞선 트러블 슈팅에서는 useEffect가 무한루프 되는 문제를 다루었다. 이번에는 무한루프를 해결하기 전에 발견했던, 데이터가 페이지에 렌더링 되지 않는 문제를 트러블 슈팅 하려고 한다. 문제 인식 페이지에 데이터가 업로드 되지 않는 문제 리팩토링을 하면서 페이지에 접속했을 때 여행지 리...

트러블 슈팅: 카카오맵이 중복 렌더링되는 문제 해결하기

카카오맵이 중복 렌더링되는 문제 해결하기 프로젝트 기간 동안 지도 API를 관리하면서 카카오맵이 중복 렌더링되는 문제를 겪었다. 이를 해결하기까지 꽤 여러 시도가 있었기 때문에, 이 과정을 기록해두고 향후 유사한 문제를 마주했을 때 시행착오를 줄이려고 한다. 문제 인식 지도 컴포넌트의 중복 렌더링으로 인한 잔상현상 발생 내가 담...

리팩토링 일지: 커스텀 hook으로 자식 컴포넌트의 props 묶기

커스텀 hook으로 자식 컴포넌트의 props 묶기 커스텀 hook으로 동일한 자식 컴포넌트에서 사용되는 props를 묶어서 코드의 유기성을 높였다. 왜 커스텀 hook을 사용했는가? fetch함수를 부모 컴포넌트에서 선언하면 받아온 data를 자식들에게 props로 내려주어야 한다. 그러나 그러나 나는 API fetch 함수를 컴포...

리팩토링 일지: API fetch 함수를 선언적으로 작성하기

API 함수를 선언적으로 작성하기 사용자의 action에 의존하는 API는 그 action 함수 내부에서 fetch 되도록 리팩토링하였다. 왜 API fetch 함수의 위치를 변경했는가? 내가 담당한 목적지 리스트 페이지는 클릭과 같은 사용자의 행위(action)에 의존하여 업데이트되는 데이터가 많다. 실제로 내가 사용한 API 11개...