2016-12-23 15 views
0

私は、複数のクラスコンポーネントを収容するファイルを持っています。この例では、2つのステートレスコンポーネントを使用するクラスコンポーネントがあり、それをクラスコンポーネントで使用したいと考えています。さまざまなコンポーネントの小道具をどのように検証できますか?1つのファイル内の複数の反応コンポーネントのPropType検証

const Image = ({className, img}) => { 
<code> 
} 

const MessageDetail = ({className, message}) => { 
<code> 
} 


class Container extends Component { 
    constructor(props) { 
    super(props); 

    this.state = { 
     expandall: true, 
     touched: null, 
    }; 

<code> 
<Image className='block-image' img='component1' /> 
<MessageDetail className='block-image' message='component2' /> 

Container.propTypes = { 
    model: PropTypes.object, 
    content: PropTypes.object, 
    emit: PropTypes.func, 
    screensize: PropTypes.string, 
}; 

Container.defaultProps = { 
    model: null, 
    content: null, 
    emit: null, 
    screensize: 'desktop', 
}; 
+0

... 'propTypes'は、明示的にそのクラスの名前や機能によってクラス/関数に関連付けられています。クラス/関数に関連付けられた 'propTypes'をさらに追加してください。それは単なるオブジェクトプロパティです。混乱は何ですか? –

答えて

0

あなただけ例えば、ファイルの最後に追加します。:特別

MessageDetail.propTypes = { 
    className: PropTypes.object, 
    message: PropTypes.object 
}; 

Image.propTypes = { 
    className:PropTypes.object, 
    img: PropTypes.object 
}; 

何が本当に必要とされません。あなたはこのようにコーディングでき

0

: -

const Image = ({className, img}) => { 
<code> 
} 

const MessageDetail = ({className, message}) => { 
<code> 
} 


class Container extends Component { 
    constructor(props) { 
    super(props); 

    this.state = { 
     expandall: true, 
     touched: null, 
    }; 

<code> 
<Image className='block-image' img='component1' /> 
<MessageDetail className='block-image' message='component2' /> 

Container.propTypes = { 
    model: react.PropTypes.object, 
    content: react.PropTypes.object, 
    emit: react.PropTypes.func, 
    screensize: react.PropTypes.string, 
}; 

Container.defaultProps = { 
    model: null, 
    content: null, 
    emit: null, 
    screensize: 'desktop', 
}; 

Image.propTypes = { 
    propA: react.PropTypes.object, 
    propB: react.PropTypes.object, 
}; 

MessageDetail.propTypes = { 
    propC: react.PropTypes.object, 
    propD: react.PropTypes.object, 
};