2016-12-23 2 views
0

У меня есть файл, который содержит более одного компонента класса. В этом примере у меня есть компонент класса, который использовал два компонента без состояния, и я хотел бы использовать его в компоненте класса. Как я могу проверить опоры для разных компонентов.Проверки 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, 
}; 
Смежные вопросы