인프런 커뮤니티 질문&답변
6.2 회원가입 구현 18:06 AuthResponse 관련 문의
작성
·
22
0
안녕하세요, 강의 잘 듣고 있습니다!
6.2강 회원가입 구현 강의 18:06경에 설명해주시는 AuthResponse 타입의 정의?가 변경된 것인지, 제 코드 에디터에는 아래와 같이 표시됩니다.
첫 번째 객체 부분 {data: T; error: null}은 이해가 가는데요, 두 번째 객체 부분은 강의상 화면과 차이가 좀 있어서, 추가로 설명해주실 수 있으면 감사하겠습니다.

답변 2
1
안녕하세요 Haemin Park님 이정환입니다.
우선 강의 잘 듣고 있다고 말씀해주셔서 감사합니다 😀
에러 발생시의 데이터 타입이 조금 변경되었군요..! 그런데 해당 타입은 제네릭과 인덱스 시그니쳐라는 타입스크립트 고유의 문법을 알아야만 이해할 수 있는 구조로 만들어져 있네요 ㅠㅠ 이에 해당 타입을 완벽히 이해하시려면 타입스크립트에 대해 먼저 학습해 보시는걸 추천드립니다.
우선 대략적으로만 설명드리자면, error가 AuthError 타입일 때 즉 에러가 발생했을 때의 data 타입인 T extends object ? { [K in keyof T]: null } : null는 “원래 성공했을 때 들어올 데이터의 모양은 유지하되, 값만 전부 비워 둔 상태” 라고 이해하시면 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. Haemin Park님.
AuthResponse 타입 정의에 대한 질문 주셨군요. 강의 중 보여지는 화면과 코드 에디터의 차이가 있을 때는, 종종 라이브러리의 버전 변경이나 코드 업데이트로 인해 발생할 수 있습니다.
현재 AuthResponse 타입은 RequestResultSafeDestructure라는 제네릭 타입을 기반으로 하고 있습니다. 이 제네릭 타입은 특정 조건에 따라 다른 타입을 지정해주는 역할을 합니다. 예를 들어, 제네릭 T가 객체인 경우와 아닌 경우로 나눠서 타입을 설정합니다.
핵심 설명:
RequestResultSafeDestructure
: data: 제네릭T또는T내 키 값이 null인 객체.
error:AuthError타입으로, 오류가 발생했을 때 사용할 수 있습니다.
AuthResponse:
- 이 타입은
RequestResultSafeDestructure를 기반으로 하여 사용자(User)와 세션(Session) 데이터를 다룹니다. 여기서,user와session속성은 각각User타입 또는null,Session타입 또는null로 정의됩니다.
- 이 타입은
관련 자료:
사용하신 코드에 관한 참고 자료로, 유사한 질문 및 답변이 있는 게시물을 확인하시어, 다른 사용자들이 겪었던 차이점과 해결 방안을 살펴보시길 권장드립니다.
강의의 특정 부분이 변경되거나 업데이트될 수 있음을 유념하시고, 문서나 코드 리팩토링이 필요한 경우 최신 자료를 확인하여 적용해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




