Sono in grado di definire e utilizzare una generica funzione come questa:
const fetchData = <T>(): T[] => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData<string>();
Tuttavia, nel mio scenario attuale, ho un sacco di parametri e vorrei separare le tipizzazioni e la funzione di assegnazione.
Io ho tentato di scrivere come questo:
type IFetchData = <T>() => T[]
const fetchData2: IFetchData = () => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData2<string>();
Tuttavia, ora la definizione di funzione non riconosce il T
come un tipo disponibile.
Impossibile trovare il nome di 'T'.
Ho provato un sacco di diverse configurazioni su dove mettere il <T>
ma nulla sembra funzionare - tutte le idee?