Typescript TS:使用泛型类型将函数赋值给“const”
在前TS世界中,我们过去常常像这样将简单HOC分配给常量。(代码使用) 在TS世界中,代码看起来是这样的(不是100%准确,但说明了问题) 就足够了,不需要像这样用另一个函数包装它Typescript TS:使用泛型类型将函数赋值给“const”,typescript,generics,Typescript,Generics,在前TS世界中,我们过去常常像这样将简单HOC分配给常量。(代码使用) 在TS世界中,代码看起来是这样的(不是100%准确,但说明了问题) 就足够了,不需要像这样用另一个函数包装它 const withAverage = Component => mapProps(...)(Component) 但是顺便说一句,在支持泛型的情况下,没有办法将HOC分配给const,比如 const withAverage<I,O> = mapProps<I, O>(...) c
const withAverage = Component => mapProps(...)(Component)
但是顺便说一句,在支持泛型的情况下,没有办法将HOC分配给const
,比如
const withAverage<I,O> = mapProps<I, O>(...)
constwithaverage=mapProps(…)
泛型似乎只支持函数声明,而不支持HOC赋值。还是我错了?从语义上讲,这没有任何意义,因为
常量是一个变量或类或接口的特定实现。尽管如此,泛型函数或类仍然是一个蓝图。只有明确定义泛型类型参数,才能获得可分配给变量的函数或类的具体实例,从而获得const
。此外,应尽可能利用TypeScript的类型推断。类似于constwithfoo=(WrappedComponent:ComponentType
)=>(props:P)=>代码>可以用作
const HigherOrderComponent=withFoo(BaseComponent)代码> > @ CythixVIEVIC认为我将使用类型推断,并且因为 MeNepps可以从回调中推断出类型,所以我可以编写这样的代码<代码> const MyDealStudio= MnOrrPs(MuffFyPrPS)< /代码>并考虑,该函数modifyProps
是通用函数,我想在myDecorator
上添加类型限制,因此我想编写类似于const myDecorator=mapProps(modifyProps)
或…=mapProps(…)
,但这两种情况都无效。让我恼火的是,除了将泛型包装在另一个函数声明中,您不能将其用于函数组合。
const withAverage = mapProps...
const withAverage = Component => mapProps(...)(Component)
const withAverage<I,O> = mapProps<I, O>(...)