Дженерик компоненты
typescript
1interface ListProps<T> {2 items: T[];3 renderItem: (item: T) => React.ReactNode;4}56function List<T>({ items, renderItem }: ListProps<T>) {7 return <div>{items.map(renderItem)}</div>;8}
Дженерик хуки
typescript
1function useFetch<T>(url: string) {2 const [data, setData] = useState<T | null>(null);3 useEffect(() => {4 fetch(url).then(r => r.json()).then(setData);5 }, [url]);6 return data;7}
Ограничения дженериков
typescript
1function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {2 return obj[key];3}
Заключение
Дженерики — мощный инструмент для создания переиспользуемого кода.
Изучите вопросы по TypeScript в нашем разделе.