• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

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

24.04.25 13:14 작성 조회수 82

0

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

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

 

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

 

감사합니다.

 

답변 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 에서 확인할 수 있습니다.

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