はここに私のReact.jsコンポーネント定義です。ES6:コンストラクタは矢印関数として宣言できませんか?</p> <pre><code>class ExampleComponent1 extends React.Component { constructor() { super(); } } </code></pre> <p>のWebPACKこのバベルローダーで、すべてが正常になります:
class ExampleComponent1 extends React.Component {
constructor =() => {
super();
}
}
WebPACKのビルドが失敗しました:これは、コンストラクタは矢印関数として宣言することはできませんなぜ起こったか、私は知りません
Module build failed: SyntaxError:....: 'super' outside of function or class (8:4)
しかし、私は、関数矢印constructor
宣言を変更しますか?
あなたはES6の矢印関数として*いかなる* 'class'メソッドを宣言することはできません。 WTHあなたはやろうとしていますか?クラス本体内の代入は構文エラーです。 – Bergi
あなたはこの変身が何を期待していますか?矢印関数( 'new 'で呼び出すことはできません)はコンストラクタとして動作します(' new'なしでは呼び出せません)? – Bergi
in arrow function、 'super'(または' this')は外部のレキシカルスコープチェーンを参照します。通常の機能で矢印機能を使用しない限り、それは仕様に従って動作しません。これがあなたがこのエラーを見ている主な理由です。 –