在Typescript中部分应用类构造函数

时间:2017-07-19 18:59:18

标签: typescript

我正在阅读this answer关于在JavaScript中部分应用类构造函数并试图在Typescript中进行类似的操作。

首先,我注意到.bind是无类型的。所以我尝试创建自己的类型签名:

class Container<State> {
    constructor(public initialState: State) {}

    static of<State>(state: State): typeof Container<State> {
        return Container.bind(null, state)
    }
}

编译器似乎不喜欢typeof Container<State>。我有什么想法可以让它发挥作用吗?

我可以使用工厂函数,但我需要能够在此使用new关键字,以便它能够使用我希望没有构造函数参数的类的现有设置...

1 个答案:

答案 0 :(得分:2)

您希望FooComponent返回no-arg of构造函数。 TypeScript允许您将构造函数类型表示为存在返回对象的Container<State>函数。

new

希望有所帮助。