
? 인턴으로 함께 하게 된 지 어느덧 2달이 다 되어간다. 일주일은 순식간이지만 한 달은 길-었던 시간 동안 많은 것을 배웠다. 일지에 적기엔 작고 큰 문제들이 차고 넘치기에, 리액트랑 한층 더 가까워졌던 이슈들에 대해 중점적으로 얘기해보려 한다.
# 개발일지 1
기본적이지만 중요했던
첫 번째 과제였던 '숨고' 사이트 클론 프로젝트를 2주간 진행하면서 해결했던 이슈에 대해 정리해보려 한다. 프로젝트 진행 전에도 리액트를 공부하면서 혼자서 이것저것 만들어봤던 경험이 있었지만, 상대적으로 (나에게) 대량의 데이터를 가진 사이트를 서버와 협업하여 만들어보는 경험은 처음이었기 때문에 긴장도 되었고 어떤 것을 배우게 될지 설레기도 했다.
⚠️ 문제 발생
문제는 유저 데이터를 불러와 렌더링 하는 과정에서 발생했다. 구현하려고 했던 기능은 사용자가 스크롤을 내려 화면을 이동할 때, 일정 개수만큼 유저 데이터를 가져와 띄워주는 기능이다. 첫 화면에서는 제대로 동작하였지만, 라우팅을 통해 다른 페이지를 이동한 후, 뒤로 가기나 이전 버튼을 통해 돌아오게 되면 엄청난 에러와 함께 1~10번의 유저가 아닌 10~20번대의 유저들을 불러왔다(대환장파티;;).
? 원인 찾기
먼저 원인을 찾기 위해 스크롤 시 데이터를 불러오는 함수 onScroll()를 확인했다. 해당 함수 내의 분기 문은 scroll height가 일정 조건을 만족하면 state가 변경되어 데이터를 가져오는 방식이다. 이해를 돕기 위해 코드를 추가했다.









