본문으로 바로가기
COMMUNITY모든 이야기

사이드 프로젝트 API 응답 처리 중입니다. Generic 인터페이스에 인덱스 시그니처를 추가했는데 속성 타입이 any로 잡힙니다.

코드:

interface ApiResponse<T> {
  data: T;
  [key: string]: any;
}

interface User {
  name: string;
  age: number;
}

const res: ApiResponse<User> = {
  data: { name: "Kim", age: 30 },
  status: 200
};

console.log(res.data.name);

오류: `res.data`에 마우스를 올리면 `User`가 아니라 `any`로 추론됨.

시도: `Record<string, any>`와 교차 타입(`&`)으로 시도했으나 결과 동일함.

질문: 인덱스 시그니처를 유지하면서 `data` 속성의 제네릭 타입 추론을 정상적으로 가져오려면 어떻게 해야 합니까?

모든 이야기1455

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1455개의 이야기
댓글