Avatar ·

Wann sollte man JSX.Element, ReactNode und ReactElement in TypeScript verwenden?

Hallo zusammen! Ich habe angefangen, React mit TypeScript zu lernen und bin auf Verwirrung bei den Typen für Rückgabewerte von Komponenten und Props gestoßen. Hier ist eine einfache Komponente: ```typescript interface Props { children: ???; // Was soll hier hin? icon: ???; // Und hier? } function Card({ children, icon }: Props) { return (
{icon}
{children}
); } ``` Ich habe in verschiedenen Projekten drei Typen gesehen: `JSX.Element`, `ReactNode` und `ReactElement`. Sie werden scheinbar für dasselbe verwendet, aber nicht ganz. Zum Beispiel weiß ich, dass: - `ReactNode` für children verwendet werden kann - `JSX.Element` von funktionalen Komponenten zurückgegeben wird - `ReactElement` der Basistyp ist Aber wenn ich schreibe: ```typescript function MyComponent(): JSX.Element ```