TypeScript · Middle · Frage 22 von 75
Wie typisiert man eine generische Listenkomponente?
function List<T>({ items, render }: {
items: T[];
render: (item: T) => React.ReactNode;
}) { /* ... */ }- 1Einen Typparameter an der Komponentenfunktion deklarieren - TS leitet
Tausitemsab - 2Generics werden in React-Komponenten wegen der JSX-Syntax nicht unterstützt
- 3
React.FC<T>nutzen, wobeiTder Typ eines Listeneintrags ist
Antwort zeigen
Richtige Antwort: Einen Typparameter an der Komponentenfunktion deklarieren - TS leitet T aus items ab
Erklärung
<List items={users} render={u => u.name} /> - T wird als User abgeleitet, und u in render ist typisiert. In .tsx-Dateien schreibt man bei Arrow Functions <T,>, damit der Parser es nicht für JSX hält. React.FC reicht Generics nicht durch.