【发布时间】:2017-03-17 08:16:42
【问题描述】:
考虑以下代码来定义一个带有泛型类型参数TRow 的 React 组件:
function DataTable<TRow> ({ rows: TRow[] }) {
return (
)
}
在之前的代码中,使用了 ES6,组件被定义为无状态函数:
const DataTable = ({ rows }) => ( ... )
如何定义这样的函数,使其具有泛型类型参数TRow? Typescript 是否完全支持这一点?
【问题讨论】:
-
我完全把你的问题弄错了,我不明白你为什么想让一个函数保持不变。也许你可以做 public static yourFunction
(somearg:T) {} ??? -
是的,就像我在问题中展示的那样,我可以使用
function DataTable<TRow> ...来定义它。但是,由于所有代码都使用像const DataTable = ...这样的代码,我认为保持相同的语法会很好,但以某种方式添加泛型。 -
您的函数签名错误。
({ rows: TRow[] })被重命名为解构错误。类型必须这样写({ rows } : { rows: TRow[]})github.com/Microsoft/TypeScript/issues/9657
标签: generics typescript lambda