首页 > 解决方案 > 需要使用 $Subtype 和泛型来键入函数

问题描述

我正在尝试使用$Subtype键入一个 mixin 函数。我相信我的类型签名是正确的。我不断收到一些错误:

const MyMixin: MixinFunction = superclass => class extends superclass {};
                                             ^ Cannot extend `superclass` [1] with
                                               `<<anonymous class>>` because `A` [2] is
                                               not inheritable.

这是我的超级简单代码(在 Try Flow 上):

type MixinFunction = <A>(superclass: Class<A>) => Class<$Subtype<A>>;

const MyMixin: MixinFunction = superclass => class extends superclass {};

我怎样才能使这段代码没有错误地工作?

标签: javascriptflowtype

解决方案


推荐阅读