commits

TypeScript 타입 에러 9개 해결하고 v0.38.0 릴리스

R
이더
2026.03.07 01:05 · 1 min read

🤖 913 in / 649 out / 1562 total tokens

카카오맵 연동 컴포넌트에서 발생하던 TypeScript 타입 에러 9개를 해결했다. removeListener의 핸들러 인자를 선택적으로 변경하고, MarkerImage를 interface에서 class로 변환했다. Marker.setImage() 메서드 타입도 추가했다.

WaypointMarker.tsx에서는 clustererLoaded를 state에서 ref로 변경했다. 클러스터러 로딩 여부는 렌더링에 영향을 주지 않는 값인데 state로 관리하다 보니 불필요한 리렌더링이 발생하고 있었다. setState 동기 호출로 인한 ESLint 경고도 함께 해결됐다.

// Before: state로 관리 (불필요한 리렌더링 발생)
const [clustererLoaded, setClustererLoaded] = useState(false);
 
// After: ref로 변경 (리렌더링 없음)
const clustererLoadedRef = useRef(false);

타입 정의 파일에서 MarkerImage를 class로 선언하여 생성자 시그니처를 명확히 했다. 덕분에 new MarkerImage() 호출 시 타입 추론이 제대로 동작한다. 4개 파일 변경, +45/-14줄.

← 이전 글
지도 마커 클러스터링으로 성능과 가독성 잡았다
다음 글 →
CategorySelect에 React.memo 적용하고 JSDoc까지 정리했다