• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

제네릭을 활용한 Response 타이핑 7:40초 질문(아래 질문에 추가질문)

22.11.24 17:22 작성 조회수 149

0

안녕하세요 제로초님.

아래 질문에대한 답변 달아주신것 확인하였습니다.

 

respone에대한 타입인것은 index파일에서 확인은 했는데

한가지 의문이

애초에 AxiosResponse의 제네릭 이외에는 T가 활용되지 않는 것 같은데
T를 제거하고 AxiosResponse<Create> 만 넘기는것과 무엇이 다른것인지 궁금합니다!

다른파트에서 사용해야해서 규격을 맞추기위해 첫번째 제네릭 인자를 굳이 받는건지 다른 이유가 있는건지가 궁금합니다 ㅎ.ㅎ

답변 1

답변을 작성해보세요.

0

질문이 이해가 잘 안 가는 것이

T를 제거하고 AxiosResponse<Create>만 넘긴다는 게 무슨 뜻인가요??

T를 어떻게 제거하는 것인지를 모르겠습니다.

김영욱님의 프로필

김영욱

질문자

2022.11.24

아, 제 질문의 의도는

post<T, R, D> 제네릭 타입 3개중에 첫번째에 있는 T를 제거하고 사용하면 안되는지에 대한 질문이었습니다!

post<T = any, R = axios.AxiosResponse<T>, D = any>(url: string, data?: D, config?: axios.AxiosRequestConfig<D>): Promise<R>;

어차피 소스코드 내에서 T는 R(axios.AxiosResponse<T>)에만 활용되니까요.

그런데 곰곰히 생각해보니 첫번째 인자 T를 제거하면 R의 타입을 axios.AxiosResponse<T>로 고정시키는게 불가능 할 것 같네요 ㅎㅎ...

답변 감사합니다!

자리가 정해져있어서 T가 없으면 R을 넣을 수 없습니다.