2017-06-13 18 views
-1

Reactで新しいアプリを作成しようとしています。propypeの反応エラー

に指示されたとおり、私は次のようにWebページを反応させるの新しいアプリを作成しました:

npm install -g create-react-app

create-react-app my-app

cd my-app

npm start

をインストールは、バージョンが15.5.4で反応します。

次に、ダミークラスを研究するための「Dummy.js」ファイルで構成されています

import React from 'react'; 

class Dummy extends React.Component { 
    render() { 
     return <div>{this.props.name}</div> 
    } 
    propTypes : { 
     name: React.PropTypes.string.isRequired 
    } 
} 

そしてApp.jsファイルで、私はライン<Dummy name="this is dummy class"/>を追加しました。

それは、その後、それは構文エラー(予期しないトークン)を返しうまく動作しますが、中に述べたように、私は、構文を変更したときにlinkブログ反応して、

import React from 'react'; 
import PropTypes from 'prop-types'; 

class Dummy extends React.Component { 
    render() { 
     return <div>{this.props.name}</div> 
    } 
    Component.propTypes = { 
     name: React.PropTypes.string.isRequired 
    }; 
} 

enter image description here

誰でも助けることができます私は理由を理解するために?

同じことになる
class Dummy extends React.Component {} 

Dummy.propTypes = { 
    name: React.PropTypes.string.isRequired 
} 

create-react-appさんBabel config supports using the following syntax sugar:につきとしても

class Dummy extends React.Component { 
    static propTypes = { 
    name: React.PropTypes.string.isRequired 
    } 
} 

+0

コンポーネントの外形宣言を外に移動するだけです。 –

答えて

1

propTypesを宣言することが期待方法についてはReact propTypes docsを参照してください。ドキュメント、React.PropTypesは推奨されなくなりましたReact v15.5以降の別のprop-typesパッケージの:

import PropTypes from 'prop-types' 
import React from 'react' 

class Dummy extends React.Component { 
    static propTypes = { 
    name: PropTypes.string.isRequired 
    } 
} 
+0

ありがとう!それは完璧に動作します! –

関連する問題