inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Các khái niệm TypeScript cần thiết học qua React và Vue (feat. ChatGPT)

Cách định nghĩa kiểu React Event Handler

JSX.Element 컴포넌트 타입 정의 관련 질의

148

작성자 없음

0

.

vue.js react typescript vue-3 chatgpt

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

유재혁님, JSX.Element 타입에 대한 질문을 주셨군요. React에서 컴포넌트를 정의할 때 타입스크립트의 장점을 활용하기 위해 다양한 타입을 사용하게 됩니다. 그렇지만 JSX.Element 타입은 모든 커스텀 컴포넌트에 반드시 지정해야 하는 것은 아닙니다.

JSX.Element는 주로 리턴 타입을 설명할 때 사용됩니다. 예를 들어, 함수형 컴포넌트의 반환형을 정의할 때 활용할 수 있습니다. 이는 React가 컴포넌트를 렌더링할 때 JSX를 사용하기 때문입니다. 다만, 실제로 실무에서 많은 코드가 명시적으로 JSX.Element를 반환형으로 지정하지 않는 경우도 많습니다. 이는 TypeScript가 자동 타입 추론을 제공하기 때문에 발생하는 현상입니다.

실무에서는 컴포넌트의 입력인 props의 타입 정의에 더 중점적으로 타입을 선언합니다. 이렇게 하면 각 컴포넌트가 정확한 형태의 데이터만 받도록 강제할 수 있어서 예측 가능한 코드를 작성할 수 있습니다.

JSX.Element 타입을 모든 컴포넌트에 사용하지 않는 이유는 여러 가지가 있을 수 있습니다:
- TypeScript의 추론 능력에 의존하여 불필요한 코드 중복을 피하기 위함
- 프로젝트마다 코드 스타일이 다르기 때문
- 팀과 프로젝트의 스타일 가이드에 따라 달라집니다

React와 TypeScript를 사용하는 방식은 널리 알려진 규칙도 있지만, 팀 구성원 모두가 동의하는 방식에 따라 달라질 수 있습니다.

강의에서 설명이 다소 부족했다고 느끼셨다니 죄송합니다. 질문에 대한 자세한 이해를 돕기 위해 작성된 강의의 파트와 다른 추가 학습 리소스를 함께 확인하시면 도움이 될 것입니다. 더 깊이 있는 설명을 원하시면 리액트 컴포넌트 타입 정의 방법을 다시 참고해보시고, 혹시 추가적으로 궁금한 점이 생기신다면, 강의의 질의응답 게시판에 질문을 남겨주시는 것도 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

클로드 채팅에서 코드로 넘어가기

0

12

1

Context API vs Zustand 그리고 Auth

0

17

2

110강부터 따라가기가 힘듭니다...

0

28

1

커서에서 붙여넣기

0

14

1

깃허브 사용시 폴더경로 관련질문

0

14

1

[reducer] 기능별 폴더 구조 설계/ 파일 분리로 유지 보수 가능한 아키텍처 구축

0

13

2

순수 함수 / 순수 컴포넌트

0

14

1

스니펫이 이상해요

0

26

2

/output-style 명령어는 폐기 되었다고 나오네요.

0

34

1

프롬프트 작성시 html, css, javascript

0

28

1

Editor Component의 최적화 불가능 이슈

0

36

2

Cursor 창이 수업 내용과 달라요.

0

30

2

Supabase MCP 관련 질문입니다

0

30

1

에러핸들링- rootlayout에 관하여

0

27

2

useCallback ⊂ useMemo

0

33

2

강의 내용 누락

0

24

0

클로드 로그인 후 승인창이 안떠요

0

33

1

깃허브 저장소를 어디에 첨부하셨나요?

1

34

1

61강 claude.local.md 변경사항 관련 질문

0

39

3

스타터 저장소

1

37

1

라이브러리 설치 질문

0

33

2

JSX.Element 컴포넌트 타입 정의 관련 재 질의

1

198

2

프로젝트 생성 관련 가이드 영상은 왜 없는건가요

1

225

3

EventHandler Type이 React에서 정의한 타입인 이유가 궁금합니다.

2

446

1