controller2 React Native 통합 앱 프로필별 데이터 분기 처리 해결 방법 (Normalizer, Controller 분리) React Native로 여러 종류의 프로필(관광지 목록, 산행 코스, 파일 데이터 등)을 하나의 통합 앱으로 묶어 운영하다 보면, 화면보다 데이터 처리 쪽이 먼저 복잡해지기 시작합니다.겉보기에는 리스트나 상세 화면 구조가 다 비슷해 보여서 공통 컴포넌트로 묶었는데, 막상 API 원본 데이터 필드를 보면 어떤 건 title이고 어떤 건 mntnNm이라서 화면 컴포넌트 내부에 조건문이 덕지덕지 붙곤 합니다. 저의 경우도 처음에는 대수롭지 않게 컴포넌트 안에 분기 처리를 넣었다가, 프로필이 늘어날수록 새 기능을 추가할 때마다 기존 코드가 깨지는 회귀 문제를 겪었습니다.화면 컴포넌트가 원본 API 구조를 너무 많이 알면 유지보수가 불가능해집니다. 이를 해결하기 위해 원본 데이터 차이는 Normalizer에서 .. 2026. 5. 21. React Native 통합 앱 profileId 조건문 지우기 (Controller와 Model 분리) 여러 프로필을 하나의 코드베이스로 관리하는 React Native 통합 앱을 개발하고 운영하다 보면 꼭 마주치는 문제가 있습니다. 화면 레이아웃은 거의 비슷한데, 프로필마다 데이터 구조나 API 응답 필드, 처리 방식이 조금씩 다른 경우입니다.저의 경우도 처음에는 귀찮아서 화면 컴포넌트 안에서 if (profileId === '...') 같은 조건문으로 대충 때우며 빠르게 개발했습니다. 하지만 프로필이 서너 개 이상 늘어나기 시작하니까 UI 파일 하나가 데이터 변환, API 응답 정규화, 화면 상태 판단까지 전부 떠안으면서 코드가 아주 난장판이 되더군요.나중에 제가 다시 보면서 고치려고, 화면 컴포넌트의 복잡도를 낮추고 유지보수하기 편하게 Controller와 Model을 분리하는 기준을 정리해 둡니다... 2026. 5. 20. 이전 1 다음