函数变量中的打字稿函数通用参数`找不到名称'React'`

时间:2021-02-21 22:24:07

标签: typescript typescript-generics

如何在变量函数中编写带有泛型参数的打字稿函数(将函数存储在变量中)?

function identity<T>(arg: T): T {
  return arg;
}

我试过了,它抱怨 Cannot find name 'React'

const identity = <T>(arg: T): T => {
    return arg;
}

1 个答案:

答案 0 :(得分:3)

假设您指的是 Cannot find name 'React'. 错误,那是因为 typescript 尝试将 <T>.. 解析为 React 元素。您可以在通用参数后添加逗号以防止出现这种情况:<T> ~> <T,>

const identity = <T,>(arg: T): T => {
  return arg;
}

TypeScript playground

或者,您可以添加一个虚拟的扩展子句,例如<T extends {}>,但 <T,> 是最干净的解决方案。