【问题标题】:Typescript function generic arguments in function variable `Cannot find name 'React'`函数变量中的打字稿函数通用参数`找不到名称'React'`
【发布时间】:2021-05-24 05:29:17
【问题描述】:

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

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

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

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

【问题讨论】:

  • “不起作用”具体是什么意思?

标签: typescript typescript-generics


【解决方案1】:

假设您指的是 Cannot find name 'React'. 错误,那是因为 typescript 试图将 &lt;T&gt;.. 解析为 React 元素。您可以在泛型参数后添加逗号来防止这种情况:&lt;T&gt; ~> &lt;T,&gt;

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

TypeScript playground

或者,您可以添加一个虚拟的 extends 子句,例如&lt;T extends {}&gt;,但&lt;T,&gt; 是最干净的解决方案。

【讨论】:

    猜你喜欢
    • 2016-10-28
    • 2021-08-23
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 2021-09-06
    相关资源
    最近更新 更多