2025 · 09 · 026 min lettura

Generic TypeScript senza impazzire

I generici sono la feature più potente e più fraintesa di TypeScript. Una volta che li capisci davvero, non torni indietro.

TypeScriptReact

Il modo più semplice per capire i generici è pensarli come variabili per i tipi. Così come una funzione può ricevere un valore e restituire un valore calcolato, una funzione generica riceve un tipo e restituisce un tipo calcolato. La differenza è che questa computazione avviene a compile time, non a runtime.

Il caso d'uso più comune in React è il componente generico. Immagina una lista: <List<User> items={users} renderItem={(u) => <UserCard user={u} />} />. Il componente List non sa nulla di User, ma TypeScript sa che renderItem riceve un User perché è stato inferito dal tipo di items. Questo è il tipo di sicurezza che trasforma un bug runtime in un errore di compilazione.

L'errore che vedo più spesso è l'overuse dei generici. Non tutto deve essere generico. I generici hanno senso quando una funzione o componente deve funzionare con tipi diversi mantenendo la relazione tra gli input e gli output. Se la funzione funziona sempre con lo stesso tipo, usa quel tipo direttamente.

▞ ▚ ▞ ▚ ▞ ▚ ▞ ▚ ▞ ▚ ▞ ▚ ▞ ▚ ▞ ▚ ▞ ▚ ▞ ▚
GENBOT by @gengiord
Assistente AI · risponde a domande sul portfolio
Ciao! Sono GenBot :)
Come posso aiutarti?