인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

rhkdtjd_12님의 프로필 이미지
rhkdtjd_12

작성한 질문수

실전 연습으로 익히는 고급 타입스크립트 기술

Object union type을 object로 타입 변형

풀어보았지만 실패했습니다.

해결된 질문

작성

·

207

1

확실히 어렵네요.

type RoutesObject = {
  [K in Route as `${K["route"]}`]: Route["search"];
};

이렇게까지 고민하여 풀었지만

key값은 나오게되었는데 value값을 자꾸 union으로 나와서 결국 못풀었는데, 영상을 보니까 Route를 in으로 반복한
R을 가지고 array key인 search로 접근하면 해결 되는 문제 였네요. 잘 배웠습니다!

type RoutesObject = {
  [K in Route as `${K["route"]}`]: K["search"];
};

답변 2

1

rhkdtjd_12님의 프로필 이미지
rhkdtjd_12
질문자

혹시 이런 문제를 계속계속 풀어가야 될것 같은데 typescript의 타입들을 만들거나 풀때 꿀팁 같은게 있을까요?

 

현재 제가 하는 방식은

type result = Route["search"];

이런식으로 대충 원하는 모양을 만든다음에

마우스 커서를 올려서 타입을 확인하면서 천천히 푸는 방법인데 혹시 더 좋은 방법이나 꿀팁이 있으시다면 알려주시면 감사합니다!

애프터캠프님의 프로필 이미지
애프터캠프
지식공유자

제가 이 질문하신 걸 놓쳤네요. 시간이 많이 지나서 이 댓글을 보실지 모르겠는데...

그래도 답변을 드리자면, 지금 올려주신 방법을 저도 사용하고 있습니다. 타입이 조금 복잡해질 때

위에서 하신 것처럼 type Test = ... 이런 식으로 확인하고 있습니다.

 

rhkdtjd_12님의 프로필 이미지
rhkdtjd_12
질문자

그렇군요! ㅎㅎ 답변 감사해요

0

애프터캠프님의 프로필 이미지
애프터캠프
지식공유자

👍

rhkdtjd_12님의 프로필 이미지
rhkdtjd_12

작성한 질문수

질문하기