brunch

You can make anything
by writing

C.S.Lewis

by charian Jan 09. 2019

디자이너의 네이티브 앱 개발 도전기 #31

심각한 문제

커다란 심각한 문제에 봉착했다.

기능 구현에 급급하다 보니 생기는 문제다.

전체적인 그림을 그리지 못하고 하나하나 기능에 집중하다 보니 큰 문제가 발생했다.

개발을 체계적으로 배우지 못한 나의 한계일 것이다.

어쩌면 상용 api를 사용하지 않는 앱에선 문제 될게 아닐 수 있겠다.

발단은 이렇다.


앱에서 지역을 변경하거나, 설정값을 변경하게 되면 api를 모두 새로 쿼리 해야 한다.

모든 데이터가 내가 변경한 값에 의해 새로 보여야 하기 때문이다.

이를 구현하기 위해 React Native의 componentDidUpdate함수를 사용하였다.

특정 state가 업데이트되면 설정한 함수부터 새로 실행하도록 말이다.


하지만, 함수들을 작성하면서 그 특정 state값을 이용하는데 문제가 생겨버렸다.

앱 최초 실행 시 함수들이 단계별로 실행이 되는데, state값을 업데이트하면서 cdu를 통해 다시금 루프를 돌기 시작한 것.

대략 3번 정도 루프를 도는 것 같았다.

즉, 하나의 화면 표현을 위해 API를 3번 호출하는 결과가 발생하였다.


여러모로 고민을 해보곤 있으나 해결책을 도무지 못 찾겠다.

state를 분리시켜야 할지, 혹은 api 쿼리 하는 함수를 모두 분리를 시켜야 할지.

고민을 더 해봐야겠다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari