Advanced Typescript
Typescript

React + Typescript

Les essentiels

  • Typage des props : utilisez soit PropsWithChildren<T> pour inclure children ou définissez explicitement votre interface/type.
  • FC (FunctionComponent) : pratique mais pas obligatoire, car il impose certains comportements non toujours souhaités.
  • ReactNode vs JSX.Element :
    • ReactNode = tout ce qui peut être rendu (texte, éléments, fragment, null...)
    • JSX.Element = un élément React spécifique (plus restrictif).
  • Utilitaires pratiques :
    • ComponentProps pour extraire le type des props d'un composant ou d'une balise HTML native.
    • React.HTMLAttributes<T> si vous voulez typer des props qui acceptent des attributs HTML (ex: sur un <div>).
  • Event handlers : utilisez les types spécifiques dans React (React.MouseEvent, React.ChangeEvent, etc.) pour bien typer les événements.
  • Faites-vous la main : explorez cette cheatsheet https://react-typescript-cheatsheet.netlify.app/docs/basic/setup — elle est régulièrement mise à jour et assez complète.