TypeScript · Middle · Frage 68 von 75
Wie typisiert man einen generischen Hook zum Laden von Daten?
function useFetch<T>(url: string): { data: T | undefined; error: Error | null } { /* ... */ }
const { data } = useFetch<User[]>('/api/users');- 1Generisch im Datentyp, idealerweise mit Validierung
- 2
anyliefern und die Daten in jeder Komponente casten - 3Hooks können nicht generisch sein, also ein Typ pro URL
Antwort zeigen
Richtige Antwort: Generisch im Datentyp, idealerweise mit Validierung
Erklärung
Das Generic behauptet den Typ nur. Übergibt man stattdessen ein Schema/einen Parser, kann der Hook T ableiten und die Daten zur Laufzeit prüfen.