Je peux définir et utiliser une fonction générique comme ceci:
const fetchData = <T>(): T[] => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData<string>();
Cependant, dans mon scénario, j'ai beaucoup de paramètres et voudrais séparer les typings et la fonction de l'affectation.
J'ai tenté d'écrire comme cela:
type IFetchData = <T>() => T[]
const fetchData2: IFetchData = () => {
const arr: T[] = []
// if stuff push to arr
return arr
}
const emptyStringArray = fetchData2<string>();
Cependant, maintenant la définition de la fonction ne reconnaît pas l' T
comme un type.
Impossible de trouver le nom de "T".
J'en ai essayé beaucoup de différentes configurations sur l'endroit où placer le <T>
mais rien ne semble fonctionner - des idées?