Pourquoi TypeScript avec React ?
TypeScript ajoute un typage statique à JavaScript, permettant de détecter les erreurs à la compilation plutôt qu'à l'exécution. Dans un projet React, cela se traduit par moins de bugs en production et une meilleure expérience de développement.
Typer les props de composants
Définir une interface pour les props de chaque composant est la base du TypeScript en React :
interface ButtonProps {
label: string;
onClick: () => void;
variant?: "primary" | "secondary";
}
const Button = ({ label, onClick, variant = "primary" }: ButtonProps) => (
<button onClick={onClick}>{label}</button>
);
Typer les hooks
useState, useRef et useContext acceptent des types génériques. TypeScript infère automatiquement le type pour useState dans la plupart des cas, mais une annotation explicite est nécessaire pour les types complexes.
Types utilitaires
TypeScript fournit des types utilitaires puissants : Partial<T>, Required<T>, Pick<T, K>, Omit<T, K> et Record<K, V> couvrent la plupart des transformations de types nécessaires.
Generics pour les composants réutilisables
Les generics permettent de créer des composants flexibles et typés. Un composant de liste générique peut accepter n'importe quel type d'item tout en restant fortement typé.
Configuration stricte
Activer "strict": true dans tsconfig.json active toutes les vérifications strictes. C'est parfois difficile à adopter sur un projet existant, mais indispensable pour les nouveaux projets.
Conclusion
TypeScript est devenu incontournable dans l'écosystème React professionnel. L'investissement initial en apprentissage est largement compensé par la réduction des bugs, la meilleure documentation du code et l'expérience de développement améliorée.
