inflearn logo
강의

Course

Instructor

[React / VanillaJS] Creating UI elements directly Part 2

Select Box (3/5) headless #2 apply hook

제네릭을 사용하실 때 콤마

Resolved

174

oridori2705

54 asked

0

image.png


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

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

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

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

로 인한 이유가 맞을까요?

react typescript dom ui vanilla-js

Answer 2

0

communityai8509

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

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

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

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

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

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

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

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

0

jaenam

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

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

팀& 서브 에이전트 실활용 방법은 어디에서 볼 수 있을까요?

0

5

1

선생님 강의토대로 개발중인데 질문이 하나있습니다 급함

0

11

2

To-Do App

0

5

0

MCP 서버 설치 내용이 실제와 달라 좀 헷갈립니다.

0

14

2

MCP가 토큰을 낭비한다고 뒷쪽에서 설명해주셨는데요.

0

13

2

[55강 질문] 로컬 커밋관련 질문

0

14

2

claude: command not found

0

14

2

git사용자 정보 설정 확인 관련

0

13

2

tdd-red 스킬에 허용 에러 범위에 대한 질문

0

14

2

claude code 실행시간

0

18

2

플랜모드에 대해 업데이트 내용이 있었던 것 같습니다!

0

14

2

서브에이전트 질문입니다.

0

17

2

popover createPortal 방식에서

0

160

2

스낵바를 만들 때 snackBarContext와 snackBarSetContext

0

157

2

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

0

199

1

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

0

377

1

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

0

365

3

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

0

264

1

모달만드는 방식 질문

0

249

1

캐러셀 동작원리

0

311

2

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

0

207

1

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

0

293

2

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

0

275

2

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

1

318

2