Typescript TS:使用泛型类型将函数赋值给“const”

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

在前TS世界中,我们过去常常像这样将简单HOC分配给常量。(代码使用)

在TS世界中,代码看起来是这样的(不是100%准确,但说明了问题)

就足够了,不需要像这样用另一个函数包装它

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>(...)