작성자 없음
작성자 정보가 삭제된 글입니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
유재혁님, JSX.Element 타입에 대한 질문을 주셨군요. React에서 컴포넌트를 정의할 때 타입스크립트의 장점을 활용하기 위해 다양한 타입을 사용하게 됩니다. 그렇지만 JSX.Element 타입은 모든 커스텀 컴포넌트에 반드시 지정해야 하는 것은 아닙니다.
JSX.Element는 주로 리턴 타입을 설명할 때 사용됩니다. 예를 들어, 함수형 컴포넌트의 반환형을 정의할 때 활용할 수 있습니다. 이는 React가 컴포넌트를 렌더링할 때 JSX를 사용하기 때문입니다. 다만, 실제로 실무에서 많은 코드가 명시적으로 JSX.Element를 반환형으로 지정하지 않는 경우도 많습니다. 이는 TypeScript가 자동 타입 추론을 제공하기 때문에 발생하는 현상입니다.
실무에서는 컴포넌트의 입력인 props의 타입 정의에 더 중점적으로 타입을 선언합니다. 이렇게 하면 각 컴포넌트가 정확한 형태의 데이터만 받도록 강제할 수 있어서 예측 가능한 코드를 작성할 수 있습니다.
JSX.Element
타입을 모든 컴포넌트에 사용하지 않는 이유는 여러 가지가 있을 수 있습니다:
- TypeScript의 추론 능력에 의존하여 불필요한 코드 중복을 피하기 위함
- 프로젝트마다 코드 스타일이 다르기 때문
- 팀과 프로젝트의 스타일 가이드에 따라 달라집니다
React와 TypeScript를 사용하는 방식은 널리 알려진 규칙도 있지만, 팀 구성원 모두가 동의하는 방식에 따라 달라질 수 있습니다.
강의에서 설명이 다소 부족했다고 느끼셨다니 죄송합니다. 질문에 대한 자세한 이해를 돕기 위해 작성된 강의의 파트와 다른 추가 학습 리소스를 함께 확인하시면 도움이 될 것입니다. 더 깊이 있는 설명을 원하시면 리액트 컴포넌트 타입 정의 방법을 다시 참고해보시고, 혹시 추가적으로 궁금한 점이 생기신다면, 강의의 질의응답 게시판에 질문을 남겨주시는 것도 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.