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