타입 에러나 상태 관리 같은 구체적 도전을 문제→해결→성과 흐름으로 서술
TypeScript와 React를 처음 함께 쓴 프로젝트에서 제네릭 타입 추론이 의도대로 되지 않아 런타임 오류가 반복됐습니다. 컴파일 단계에서 통과한 코드가 실행 시 터지는 상황이 처음엔 이해가 안 됐는데, 원인은 any 타입을 여러 곳에 쓰면서 타입 안전성이 사실상 비활성화된 것이었습니다. 해결 방법은 any를 전부 찾아 unknown으로 바꾸고 타입 가드를 명시적으로 추가하는 방식이었습니다. React 상태 관리에서는 컴포넌트 간 데이터 흐름이 복잡해지면서 props drilling이 5단계를 넘어가는 상황이 생겼고, Context API로 구조를 리팩토링해서 코드 가독성을 크게 개선했습니다. 기술 스택으로는 Vite, Tailwind CSS, React Query를 함께 사용했는데, React Query 도입 후 캐싱 처리를 별도로 안 해도 되는 편의성이 인상적이었습니다. 이 프로젝트에서 TypeScript를 제대로 쓰려면 처음 타입 설계에 시간을 쓰는 것이 나중 디버깅보다 훨씬 빠르다는 걸 배웠습니다.