2016-10-19 3 views
0

Я совершенно новый, чтобы реагировать. Я хочу создать пользовательский компонент с несколькими пользовательскими компонентами внутри него. Ниже приведен кодReact Детский компонент имеет неопределенный реквизит. Style

const { item, to, onClick, width, style, ...otherProps } = props; 
const h = width ? (width*IMAGE_RATIO)+'px' : 'auto'; 
const w = width ? width+'px' : 'auto'; 
<StackView 
    style={{ width: w, ...style }} 
    {...otherProps} 
> 
    <Container 
    to={to} 
    onClick={onClick} 
    item={item} 
    style={{ width: w, height: h }} 
    /> 
    <ClickableText 
    to={to} 
    onClick={onClick} 
    typography={typography.t15} 
    color={color.red} 
    activeColor={color.redDark} 
    style={{ lineHeight: '12px' }} 
    > 
    {item.title} 
    </ClickableText> 
</StackView> 

Внутри Container компонента и компонента ClickableTextprops.style получил undefined пытался Google эту проблему, но найти ничего. Может кто-нибудь мне помочь? благодаря

EDIT:

Michael ответ был замечен на. Проблема в моем StackView компоненте, я переопределяю стиль детей при клонировании их

ответ

2

Я уверен, что что-то не так с родителем Container и ClickableText компонента.

Проверьте исходный компонент StackView. Если вы переопределите стиль детей, то это основная проблема этого беспорядка.

Удачи.

-1

В случае, если ваш компонент не является функциональным компонентом без гражданства, вам необходимо получить доступ к свойству с помощью this.props.style.

Более подробно о типах компонентов здесь: https://tylermcginnis.com/functional-components-vs-stateless-functional-components-vs-stateless-components-630fdfd90c9c

+0

это компонент без гражданства, все они – Ansel

+0

, тогда 'this.props.style 'должен работать так, как ожидалось –

Смежные вопросы