コンストラクターに引数を提供するためにクラスを装飾しています。このクラスをサブクラス化しようとすると問題が発生します。
@decorate('foo', 'bar')
class Foo {
constructor(foo, bar) {}
}
class Bar extends Foo {}
function decorate(foo, bar) {
return function(ctor) {
return ctor.bind(null, foo, bar);
};
}
上記はnull
、コンストラクターに渡されたコンテキストのために機能しません (少なくとも、それが問題の根源だと思います)。Babel で使用すると、次のエラーが発生します。
親クラスを装飾し、子を拡張する方法はありますか?