typescript手册目前没有关于箭头函数的内容。正常的功能 可以使用以下语法进行泛型: 例子:
function identity<T>(arg: T): T {
return arg;
}
箭头函数的语法是什么?
typescript手册目前没有关于箭头函数的内容。正常的功能 可以使用以下语法进行泛型: 例子:
function identity<T>(arg: T): T {
return arg;
}
箭头函数的语法是什么?
当前回答
添加多个依赖泛型类型的示例:
这个函数,转换为箭头函数,如下所示:
http.get = function <T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R> {
config.withCredentials = true;
....
};
注意这里的扩展号代替了等号:
http.get = async <T extends any, R extends unknown = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R> => {
config.withCredentials = true;
...
};
其他回答
这对我很有用
const Generic = <T> (value: T) => {
return value;
}
添加多个依赖泛型类型的示例:
这个函数,转换为箭头函数,如下所示:
http.get = function <T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R> {
config.withCredentials = true;
....
};
注意这里的扩展号代替了等号:
http.get = async <T extends any, R extends unknown = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R> => {
config.withCredentials = true;
...
};
如果你在.tsx文件中,你不能只写<T>,但这是可行的:
const foo = <T, >(x: T) => x;
与extends{}攻击不同,这种攻击至少保留了意图。
这对我很有用
const logSomething = <T>(something:T): T => {
return something;
}
非箭头函数的方法。扩展OP中的例子。
function foo<T>(abc: T): T {
console.log(abc);
return abc;
}
const x = { abc: 123 };
foo(x);
const y = 123;
foo<number>(y);
除了把整个事情嵌入到一个语句中的答案之外:
const yar = <T,>(abc: T) => {
console.log(abc);
return abc;
}
另一种方法是使用中间类型:
type XX = <T>(abc: T) => T;
const bar: XX = (abc) => {
console.log(abc);
return abc;
}
操场上