React – Component Rules
| Rule |
Correct |
Incorrect |
| Component type |
Functional + hooks |
Class components |
| File name |
UserCard.jsx (PascalCase) |
userCard.js |
| One per file |
One component per file |
Multiple exports |
| Component size |
< 200 lines |
> 300 lines — break it up |
| Default export |
export default UserCard |
Anonymous default exports |
Correct Example
const UserCard = ({ userId, onClose }) => {
return <div>{userId}</div>;
};
export default UserCard;
Incorrect Example
export default ({ userId, onClose }) => {
return <div>{userId}</div>;
};