2017-02-01 13 views
0

私は流星と反応しています。コンポーネントのクラスで反応クラス(および流星)での 'const'の使用

、私は次のようにあります

const Media = (props) => { 
    ... 
} 

しかし、これは動作していないと私はなぜ表示されません。 私は最初の行でビルドエラーがあります。

Unexpected token, expected (

それは私が私のクラスで「CONST」を使用することはできませんようです。私はステートレスコンポーネントを定義することはできません。 あなたの助けてくれてありがとう!


小さな追加の発見:

次のように私は、コンポーネントを定義していた場合:

import React from 'react'; 

const Test =() => { 
    return (<img src=".." />); 
} 

export default Test; 

は、その後、私はコンポーネントをインポートすることができ、すべてが正常に動作します。

ここで、次のように入れ子になった 'コンポーネント'がある場合: インポート 'リアクション'から反応します。

class Test extends React.Component { 

    const Test =() => { 
    return (<img src=".." />); 
    } 

    render(){ 
    return(<img src=".." />) 
    } 

} 

export default Test; 

次に、「const」行にエラーが表示されます。これはできないことですか?私はこのような構造を使って異なるコード例を見てきました。

+0

私はmeteor ecmascriptとes5-shimパッケージをインストールしました。私は何か追加する必要があるかどうかわかりません。 – user3900157

+0

私はMeteor 1.4を使用しています:「Meteor 1.3では、JSXとES2015 + transpilationはデフォルトですべてのアプリケーションにインストールされているコアecmascriptパッケージに組み込まれているので、あなたが好きなJavaScript機能設定なし。 "私がする必要があるものは何ですか? – user3900157

答えて

1

これらの両方が可能です。

const Media = (props) => (
    <div> 
    ... 
    </div> 
) 

const Media = (props) => { 
    <div> 
    ... 
    </div> 
} 

は、最初のものはdiv要素を返し、以降1はしません。

var Media = function Media(props) { 
    return React.createElement(
    "div", 
    null, 
    "..." 
); 
}; 

var Media = function Media(props) { 
    React.createElement(
    "div", 
    null, 
    "..." 
); 
}; 

多分、エラーはコードのどこかにあります。あなたが書く場合


通常、あなたがこのようなエラーを作成することがありますが、パラメータのための()左

const Media = { a, b, c} => { return a + b + c }
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>


フィードバックの後、私はその問題を理解しました。 ES6では、classの内部で変数を定義することはできません。メソッドだけが可能です。あなたはclassconstvarletを書くとき

は、技術的に私はあなたが関数を作成してみました知っているにもかかわらず、変数名を定義しています。

しかし、ES7を使用する場合はと非静的プロパティを定義して、classの内部で問題なく使用できます。

staticキーワードを使用して、キーワードを使用せずに変数を定義してみてください。

私が見つけた最も近いものはhereでした。

+0

ありがとう、私はReact.Componentを使用しています。完全なコードは次のようなものです: 'class AddPage extends React.Component {const Media =(props)=> {{}}}' – user3900157

+0

オリジナルのクエストを編集してください。@ user3900157 – prosti

+0

'create-react-app' @ user3900157 – prosti

関連する問題