javascript - TypeScript:从类型化函数中提取泛型类型
问题描述
我正在将一个函数包装在 TypeScript 中的自定义函数中。为此,我想正确地传递类型。
我查看了类似的问题,但他们似乎都回答了如何从类中提取而不是从函数中提取的问题。
我认为 en example 是最简单的解释:
// we have a given function like this:
function genericFunction<T extends object>(a: T) {
return a;
}
// we want to extract the T type to pass it down for smth like this:
type ExtractedT = typeof genericFunction<IWANTTHEGENERICTYPE>; // (THIS IS WHERE I DON'T KNOW HOW TO PROCEED);
function myGenericFunction<T extends ExtractedT>(a: T, b: string) {
console.log(b, "- is a newly introduced variable.")
genericFunction<T>(a);
}
当然,这个例子是一个高度抽象的例子,但我的目标应该是明确的。
我很感激你的回答!
编辑:
我更新了这个例子,因为它以前没有真正的意义。我的目标是“动态地”从框架中包装一个方法,即(我复杂的用例也提取Parameters<>
类型,但那是其他的。)
所以我想我的目标是有一种方法来检测函数的泛型类型并将它们复制到我自己的函数中。但我开始认为这会破坏 TypeScript 的范围,只是将鼠标悬停在泛型类型上并为包装函数导入/复制粘贴它们可能是更好的解决方案
解决方案
推荐阅读
- python - 显然支持浮点索引数组
- flutter - 使用 List.from 与 List.map 将列表转换为新类型之间的区别?
- c - 用数组类型赋值给表达式时出错
- php - 元位置内容的面包屑增量编号
- php - 作曲家需要 mgp25/instagram-php react/child-process (不工作)
- c# - 使用上下文更新多条记录,ASP.NET C#
- mysql - MYSQL 查询中 SUM 与 LEFT JOIN 和 GROUP BY 混合
- java - 是否可以在 Gradle 中创建原型?
- netsuite - 链接到原始交易的任务字段
- javascript - 使用 PostMessage 获取元素