개발자
안녕하세요. 프론트엔드 개발을 하고 있는 사람입니다! 아직 잘 몰라서 여쭤보고 싶습니다. typescript로 react query를 이용하여 api fetch를 진행하고 있는데요. data를 받을 때 unknown이라고 나와서 타입 지정이 필요하다는 것을 느꼈습니다. 현재는 Dot Notation : data.변수 -> Bracket Notation data['변수'] 형식으로 변경을 했는데 오류가 사라져서 사용하고 있는데, 장기적으로 봤을 때 interface로 api 에 있는 키 영역을 모두 타입 지정해줘야 할까요? 경력자분들의 고견을 부탁드립니다(_ _)
답변 1
안녕하세요! 바뀌는 키값이 아니라면 하지않아도 될거같지만 엄격하게 핸들링이 필요하시다면 type으로 각 키별로 타입 지정해주신후 result 받으실때 제네릭으로 받아주심 될거같습니다~
익명
작성자
2024년 06월 05일
종호님 답변 감사합니다! 말씀 주신 부분에서 한가지 여쭤볼께 있습니다. 바뀌는 키값이라는게 키가 자주 바뀌면 type을 작성하는 것 조차 힘들 것 같긴한데요! 키 값이 자주 바뀌면 키 별로 type 지정을 할 수 없어서 하지 않아도 된다는 말씀이 맞을까요!?
문종호
DevOps & ML Engineer • 2024년 06월 05일
물론 strict 하게 관리를 해주면 좋겟지만 api가 rest하다면 타입지정을 안해도될거같습니다. 보통 상태코드가 같이 떨어질건데 그거에따라 에러만 핸들링 하시면될듯싶네요
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 06월 05일
네, TypeScript에서 API의 응답을 사용할 때는 일반적으로 인터페이스를 사용하여 타입을 명확하게 지정하는 것이 좋습니다. 이것은 여러 가지 이유로 중요합니다. 1. **타입 안전성**: 인터페이스를 사용하면 API 응답의 구조와 예상되는 데이터 형식을 미리 정의할 수 있습니다. 이렇게 하면 코드 전체에서 해당 데이터를 안전하게 다룰 수 있습니다. 2. **자동 완성 및 문서화**: TypeScript가 어떤 속성이 가능한지 알고 있다면 편집기의 자동완성 기능을 활용할 수 있어 개발 시간을 단축시키고 버그를 줄일 수 있습니다. 이는 코드를 좀 더 쉽게 읽고 이해하고 유지 관리하는데 도움이 됩니다. 3. **오류 발견**: 잘못된 속성 이름에 접근하거나 예상하지 못한 값을 다루려는 경우에 컴파일 시간에 오류를 검출 할 수 있습니다. Bracket Notation으로 오류를 해결한 것은 임시 방편일 뿐, 제대로된 타입 체크를 받지 못하기 때문에 잠재적인 오류 가능성이 열릴 수 있습니다. 따라서, 시간과 리소스가 허락하는 한 최대한 API 응답에 대해 인터페이스를 사용하여 타입을 지정하는 것이 좋습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!