Существует иерархия
class Thing { }
class BarView<Type> extends React.Component<{ obj: Type }, {}> { }
class FlossView extends BarView<Thing> { }
class Foo<Type> {
renderer?: new () => BarView<Type>
constructor(view?: new () => BarView<Type>) {
this.renderer = view
}
}
Почему я могу вызвать конструктор Foo
с подписью имени класса и не иметь ошибок, подобных этой
let foo = new Foo<Thing>(FlossView)
... whileследующий код выдает ошибку?
let foo = new Foo<Thing>()
foo.renderer = FlossView
/* [ts]
Type 'typeof FlossView' is not assignable to type 'BarView<Thing> | undefined'.
Type 'typeof FlossView' is not assignable to type 'BarView<Thing>'.*/
Как получить не typeof FlossView
версию класса, а просто FlossView
?