问题描述
这可能是一个简单的问题,但在网上找不到答案。在 ReleaseDC(hWnd,hDC)
文件中,我可以定义这样的函数:
ts
但是,如果我尝试在 const lastGeneric = <T>(arr: Array<T>): T => {
return arr[arr.length - 1];
}
文件中执行此操作,则会收到一堆语法错误,因为它假定我正在尝试使用名为 {{1} 的组件创建 tsx
}
是否有其他方法可以在 JSX
文件中定义上述函数?我做错了什么?
解决方法
只需在 T
generic 后添加额外的逗号:
const lastGeneric = <T,>(arr: Array<T>): T => {
return arr[arr.length - 1];
}
我的回答可能是重复的。随意标记它。我就是找不到原版。
出现这个问题是因为jsx。 TS 不确定如何解析尖括号
,除了船长的解决方案,您可以在不解析 JSX 的 type
语句中定义您的泛型类型:
type SomeFunc = <T>(arr: Array<T>) => T;
const lastGeneric: SomeFunc = arr => {
return arr[arr.length - 1];
}