Puedo definir y utilizar una función genérica como este:
const fetchData = <T>(): T[] => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData<string>();
Sin embargo, en mi situación, tengo un montón de parámetros y quisiera separar las tipificaciones y la función de asignación.
He intentado escribir como este:
type IFetchData = <T>() => T[]
const fetchData2: IFetchData = () => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData2<string>();
Sin embargo, ahora la definición de la función no reconoce el T
como un tipo disponible.
No se puede encontrar el nombre de 'T'.
Yo he probado un montón de diferentes configuraciones en donde poner el <T>
pero nada parece funcionar - ¿alguna idea?