代码之家  ›  专栏  ›  技术社区  ›  Alk

React-TSX文件中的泛型

  •  1
  • Alk  · 技术社区  · 4 年前

    ts 文件我可以定义如下函数:

    const lastGeneric = <T>(arr: Array<T>): T => { 
       return arr[arr.length - 1];
    }
    

    但是,如果我试图在 tsx 文件中,我收到一堆语法错误,因为它假设我正在尝试创建 JSX T

    enter image description here

    是否有另一种方法来定义上述函数 tsx公司

    2 回复  |  直到 4 年前
        1
  •  1
  •   Kelvin Schoofs    4 年前

    除了captain的解决方案之外,您还可以在 type

    type SomeFunc = <T>(arr: Array<T>) => T;
    
    const lastGeneric: SomeFunc = arr => { 
       return arr[arr.length - 1];
    }
    
        2
  •  2
  •   spender    4 年前

    在后面加个逗号就行了 T 通用:

    const lastGeneric = <T,>(arr: Array<T>): T => { 
       return arr[arr.length - 1];
    }
    

    出现此问题是因为jsx。TS不确定如何解析尖括号

    推荐文章