React.FC 사용 지양
- 타입 추론 개선: React 19는 함수 컴포넌트의 타입을 자동으로 추론하므로 명시적 타입 지정이 불필요
- children prop 문제: React.FC는 자동으로 children을 포함하는데, 이는 모든 컴포넌트에 필요하지 않음
- 더 간결한 코드: 함수 선언문이 더 직관적이고 읽기 쉬움
- displayName 자동 설정: 함수 선언문은 자동으로 displayName이 설정됨
함수 선언문을 권장
1. 호이스팅 및 성능
- 함수 선언문은 호이스팅되어 컴파일러 최적화에 유리
- 화살표 함수는 런타임에 생성되어 메모리 할당이 더 빈번
2. displayName 자동 설정
// 함수 선언문 - displayName 자동 설정
function PhotoAttachSection() {} // displayName: "PhotoAttachSection"
// 화살표 함수 - displayName 수동 설정 필요
const PhotoAttachSection = () => {} // displayName: undefined
3. React DevTools 디버깅
- 함수 선언문은 React DevTools에서 컴포넌트 이름이 명확히 표시
- 화살표 함수는 때때로 익명으로 표시
4. React.FC 제거와의 일관성
- React.FC를 제거하면서 함수 선언문이 더 자연스러운 형태
- TypeScript 타입 추론이 더 정확
5. Tree Shaking 최적화
- 번들러가 사용하지 않는 함수를 더 쉽게 제거 가능