inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)

컴포넌트 만들때에는 jsx를 사용하는 이유?

해결된 질문

406

minji

작성한 질문수 1

1

안녕하세요. 강의를 수강중인 수강생입니다.

혹시 컴포넌트들을 만들때엔 타입스크립트 tsx가 아닌 jsx를 사용하시는데, 이러한 이유가 있을까요?

 

추가적으로 React.FC에 대해 공부하다보니 지양한다는 글들이 많은데, 어떻게 생각하시는지 궁금합니다.

 

감사합니다.

 

react 인터랙티브-웹 클론코딩 next.js tailwind-css

답변 1

0

도도(코딩루팡)

좋은 질문 남겨주셨군요.!

1.jsx 사용한 이유는 View 만 담당하는 컴포넌트는 수정이 잦을 수 있기 때문에, 향후 유지보수를 위해 JS로 작성했습니다. tsx로 작성하는게 시간은 많이 들고 실수는 적어집니다.

( 생산성 vs 안정성 무엇이 중요한지에 따라 결정해주세요. )

*실무에서 수십, 수백개의 컴포넌트를 만드실텐데 모두 TS로 작성하고 타입이 꼬이는것을 상상해보세요.

*하지만 그럼에도 충분히 개발 시간이 있고, 0.05%의 실수도 용납이 안된다면 Type으로 꽉잡는게 좋죠.

 

  1. React.FC 사용해주셔도 무관합니다. 가장 큰 이유중 하나가 children 입니다.
    근데 리액트 18 업데이트로, FC의 암시적인 children이 삭제되었습니다. 해당 변경 사항은 https://github.com/DefinitelyTyped/DefinitelyTyped/pull/56210 에서 확인할 수 있습니다.

+ 실수로 올바르지 않은 타입을 컴포넌트 인자로 넘기는것을 잘 막았다면 큰틀에서 문제없다고 생각합니다.

 

 

4.6강 초기 로딩 속도 케이스 비교

0

85

2

Sidebar & Header 컴포넌트 등 레이아웃 설정 방식

0

89

3

문의드립니다.

0

147

3

Vercel signup이 안되요,, 계속 제 깃허브 계정은 추가 인증이 필요하다며 registration@vercel.com에 문의를 하라고 하네요,,, 이럴땐 진행을 어찌해야할까요,,,

1

105

2

에러, 로딩 내용 페이지를 모든 페이지에 다 만드는 이유가 따로 있나요?

2

158

3

3.2, 3.3 화면에 아무것도 나오지 않고 있습니다!

0

211

3

코드가 왜 그런지 모르겠는데, 이럴땐 어떻게 공부해야하나요?

1

222

3

강의외 복잡한 ui 입력폼 관련 질문 있습니다

1

221

2

npx랑 yarn이랑 같이 써도 되나요?

0

437

2

article / section 태그에 관해

0

179

1

카테고리 변경 시 이미지 로딩

1

191

2

next zustand 사용 시 문의

0

474

2

component 파일에서는 tsx파일이 아니라 jsx 파일을 쓰는 이유를 알 수 있을까요?

1

176

2

versel 을 통한 배포를 하는 것과 (홈서버 + 클라우드 플래어 프록시)를 하는 것을 비교해주실 수 있나요?

1

179

1

선생님 죄송한대

1

152

1

깃 push가 안되서 ssh를 한참해메고 있습니다. ㅠㅠ

1

145

1

Chapter 7 영상 화면이 안보입니다.

0

275

2

오류발생 문제입니다.

1

231

1

질문있습니다.

1

181

1

11.5 Channel 노래,앨범 section 강의중

0

157

1

소스 수정 후 자동 컴파일 문의드립니다.

1

283

2

정적배포

0

197

1

zustand 상태관리

0

335

1

state에서 buffer랑 time이 안 나옵니다

0

201

2