React Native: стиль не применяется - PullRequest
0 голосов
/ 03 ноября 2018

Я не могу понять, почему стиль не применяется к внутреннему виду {props.children} в следующем коде. Он не выдает никаких ошибок, а отображает {props.children} просто как текст.

import React from 'react';
import { View } from 'react-native';

const Card = (props) => {
  return (
    <View style={styles.containerStyle}>
      {props.children}
    </View>
  );
};

const styles = {
  containerStyle: {

    borderWidth: 8,
    borderRadius: 2,
    borderColor: 'black',
    borderBottomWidth: 0,
    shadowColor: 'black',
    shadowOffset: { width: 0, height: 2 },
    shadowOpacity: 0.1,
    shadowRadius: 2,
    elevation: 1,
    marginLeft: 5,
    marginRight: 5,
    marginTop: 60
  }
};

export default Card;

рендер {props.children} здесь:

import React from 'react';
import { Text } from 'react-native';
import Card from './Card';

const AlbumDetail = (props) => (
    <Card>
      <Text>{props.album.title}</Text>
    </Card>
  );

export default AlbumDetail;

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

@ В ответе Мурмельтьера есть маленькая ошибка.

Текстовый компонент имеет имя свойства 'style', а не 'styles'.

<Text style={props.album.title}></Text>
0 голосов
/ 04 ноября 2018

Вы просто передаете вложенные компоненты в AlbumDetail, но не применяете никакого стиля к text внутри вашего Card -компонента. Вы должны установить их так:

import React from 'react';
import { Text } from 'react-native';
import Card from './Card';

const AlbumDetail = (props) => (
    <Card>
      <Text styles={props.album.title}></Text>
    </Card>
);

export default AlbumDetail;
...