私はデコレータ付きのES6クラスを持っています。それは静的メソッドfooを持っています。しかし、私が静的メソッドにアクセスしようとすると、その定義されていません。スタティックメソッドは、レスキューにデコレータを含むES6クラスでは定義されていません
@withStyles(styles)
class MyComponent extends Component {
static foo(){
return "FOO";
}
render(){
var x = MyComponent.foo; // x=undefined
}
}
デコレータを削除すると、静的メソッドにアクセスできます。もはや未定義ではない。
class MyComponent extends Component {
static foo(){
return "FOO";
}
render(){
var x = MyComponent.foo; // x=foo()
}
}
この問題を回避する方法はありますか?あなたはes6
とbabel
を使用している場合、それは(es5
に)そのようtranspiledすることができ
デコレータはES6/ES2015の一部ではありません。これはおそらくあなたが使用しているトランスバレーターのバグです(バベル?)。 –
デコレータは何をしていますか?あなたのtranspilerまたはデコレータの実装がバグのようです。 – Bergi
この[SO答え](http://stackoverflow.com/questions/34766822/class-decorators-in-es7?rq=1)では、withStylesデコレータがどのように機能するかについて説明しています。 – GunnerFan