inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[React / VanillaJS] UI 요소 직접 만들기 Part 2

셀렉트박스 (3/5) headless #2 hook 적용

제네릭을 사용하실 때 콤마

해결된 질문

167

oridori2705

작성한 질문수 54

0

image.png


제네릭을 사용하실 때 콤마는

  1. 제네릭과 JSX의 혼동방지

  2. 제네릭 구문을 명확히 해서 코드의 가독성 높임

  3. TSX 파일에서 사용할 때 하는 일반적인 관례

로 인한 이유가 맞을까요?

react typescript dom ui vanilla-js

답변 2

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. oridori2705님 질문에 대한 답변 드리겠습니다.

제네릭 사용 시 콤마 <T,>() => { ... }에 대한 질문을 주셨는데요, 그 이유는 주로 다음과 같습니다:

  1. 제네릭과 JSX의 혼동 방지: TypeScript가 포함된 React(TSX) 파일에서, 제네릭의 꺾쇠 괄호(< >)가 JSX 태그와 혼동될 수 있습니다. 이를 방지하기 위해 제네릭 뒤에 콤마를 추가하여 명확하게 구문을 구분합니다.

  2. 제네릭 구문 명확성: 여는 꺽쇠 괄호와 닫는 꺾쇠 괄호 사이에 추가적인 구분자가 있는 것은, TypeScript 컴파일러에게 현재 위치가 제네릭 타입 정의임을 명확히 알려주어 코드의 가독성을 높이고 오류를 줄여줍니다.

  3. 전달인자를 명료하게 표시: 전통적으로 함수에 전달되는 것처럼, 제네릭 타입도 하나 이상의 타입 전달을 받을 수 있음을 명확히 하고, 이에 대한 해석 혼란을 줄입니다.

이미지를 통해 첨부된 내용이 제네릭 타입 매개 변수를 선언하는 올바른 구문이라는 점을 확인할 수 있습니다. TypeScript에서 콤마를 포함하는 패턴은 위에서 언급한 이유들과 관련이 깊죠.

관련된 개념 설명이나 예제 코드를 원하시면 JSX와 TypeScript 제네릭 혼동 해결을 위한 컴마 사용 방법을 확인해 봐도 좋습니다.

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

0

정재남

콤마가 없을 때 TSX에 대해 prettier나 biome, vscode typescript 등에서 문법 파싱을 제대로 하지 못해 오류로 표기되는 문제가 있습니다.

이를 피하기 위한 목적으로 부득이하게 넣은 것일 뿐입니다.
TSX문법과의 혼동을 방지한다는 해석이 맞겠네요.

mcp 설치를 못하겠어요

0

11

1

라이브러리 관련 질문 있습니다!

0

10

1

output-styles은 Claude Code의 공식 기능이 아니라고 하는데 혹시 변경된걸까요?

0

16

2

클로드 변경

0

14

1

/config 에서 output-style 을 변경

0

17

1

한국어 문제

0

17

2

Node.js 관련 질문드립니다.

0

22

3

클로드 버전업 설치

0

21

2

쿠폰 문의 드립니다.

0

14

2

13강 프로젝트 생성 Next.js 설치이슈

0

18

3

Shell Command: Install 'cursor' command 진행에서 막혔습니다

0

19

3

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

23

1

popover createPortal 방식에서

0

146

2

스낵바를 만들 때 snackBarContext와 snackBarSetContext

0

146

2

snackbar를 createportal를 썻을 때 갯수 조절이 가능한가요?

0

193

1

useCallback, useMemo의 차이에 대해서 궁금합니다.

0

365

1

createPortal 활용해서 modal 만들 때 활용한 MutationObserver 코드 관련 질문

0

356

3

강의자료 (보일러플레이트) 다운로드 관련 질문

0

256

1

모달만드는 방식 질문

0

243

1

캐러셀 동작원리

0

306

2

dropdown 내부에서 data의 타입을 알아야 할까요?

0

199

1

Provider를 외부에 노출하는 것보다 내부 로직으로 숨기는 것은 어떤가요?

0

287

2

keyEventMap를 전역에 구현하신 이유가 궁금합니다!

0

272

2

테일윈드로 포탈로 모달작성시 뒤에 클릭이 안됩니다

1

316

2