Avatar ·

Quand utiliser JSX.Element, ReactNode et ReactElement en TypeScript ?

Bonjour à tous ! J'ai commencé à étudier React avec TypeScript et je suis confronté à une confusion concernant les types pour les valeurs de retour des composants et les props. Voici un composant simple : ```typescript interface Props { children: ???; // Quoi écrire ici ? icon: ???; // Et ici ? } function Card({ children, icon }: Props) { return (
{icon}
{children}
); } ``` J'ai vu dans différents projets trois types : `JSX.Element`, `ReactNode` et `ReactElement`. Ils sont apparemment utilisés pour la même chose, mais pas tout à fait. Par exemple, je sais que : - `ReactNode` peut être utilisé pour children - `JSX.Element` est retourné par les composants fonctionnels - `ReactElement` est le type de base Mais quand j'écris : ```typescript function MyComponent(): JSX.Elem ```