Můžu definovat a používat generické funkce, jako je tento:
const fetchData = <T>(): T[] => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData<string>();
Nicméně, v mém skutečném scénáři, mám hodně params a chtěli oddělit typings a funkce úkol.
Já jsem se pokusil napsat takhle:
type IFetchData = <T>() => T[]
const fetchData2: IFetchData = () => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData2<string>();
Nicméně, nyní definice funkce nemusí rozpoznat T
jako dostupný typ.
Nelze najít název "T".
Snažil jsem se spoustu různých konfigurací na kam dát <T>
,, ale nic, zdá se do práce - nějaké nápady?