TypeScript · Middle · Запитання 68 з 75
Як типізувати узагальнений хук завантаження даних?
function useFetch<T>(url: string): { data: T | undefined; error: Error | null } { /* ... */ }
const { data } = useFetch<User[]>('/api/users');- ✓Правильна відповідь: Зробити хук узагальненим за типом даних і дати тому, хто викликає, його вказати (в ідеалі разом із валідацією в рантаймі)
- 2Повертати
any - 3Хуки не можуть бути узагальненими
Пояснення
Generic лише стверджує тип. Якщо передавати схему чи парсер, хук сам виведе T і перевірить дані в рантаймі.