Differences in practice
From experience, here are the key differences:
| Column 1 | Column 2 | Column 3 | 
|---|---|---|
| Feature | React.FC | Plain Function (props: Props) | 
| children typed | Yes, automatically | No, you must type manually | 
| Default props & displayName | Supports via TypeScript | Works, but less strict | 
| Return type enforcement | Ensures ReactElement | Works but less explicit | 
| Readability | Slightly verbose | Cleaner, simpler | 
I usually go with the plain function unless I specifically need children typed.