#reactjs #react-native #components #react-props
#reactjs #react-native #Компоненты #react-реквизит
Вопрос:
Я совершенно новичок в react native и пытался выровнять каждое изображение после текста, но я получаю это странное пустое пространство, от которого я не знаю, как избавиться. Вот как это выглядит сейчас:
Это мой js-код:
export default function App() {
return (
<ScrollView>
<View style={[styles.container]}>
<Text style={styles.title}>Mt. Fuji</Text>
<Image source={require("./images/pic.jpeg")} style={styles.uriImg} />
<TextImg
text="Rick amp; Morty"
imageUri={
"https://m.media-amazon.com/images/M/MV5BZjRjOTFkOTktZWUzMi00YzMyLThkMmYtMjEwNmQyNzliYTNmXkEyXkFqcGdeQXVyNzQ1ODk3MTQ@._V1_.jpg"
}
style={[styles.text, styles.propImg]}
/>
<TextImg
text="The Butterfly Nebula"
imageUri={
"https://www.dualdove.com/wp-content/uploads/2020/02/supernova-dying-star-in-the-shape-of-a-butterfly.jpg"
}
style={[styles.text, styles.propImg]}
/>
</View>
</ScrollView>
);
}
это пользовательский компонент в другом файле с именем comp.
Это мой CSS:
Const styles = StyleSheet.create({
uriImg: {
width: 350,
height: 200,
top:110,
marginBottom:120
},
propImg: {
width: 350,
height: 200,
marginBottom:30
},
container:{
backgroundColor: '#a1c5ff',
alignItems: 'center',
flex:1,
},
title: {
top:100,
backgroundColor: '#61dafb',
color: '#20232a',
textAlign: 'center',
fontSize: 50,
fontWeight: 'bold'
},
text:{
color: '#ffffff',
textAlign: 'center',
fontSize: 30,
fontFamily: 'Cochin',
}
});
Спасибо!
Комментарии:
1. О каком пробеле вы говорите?
2. О, я имею в виду дополнительный пробел между изображениями и заголовком этих изображений, пробел синего цвета. Пользовательские реквизиты внутри пользовательского компонента TextImg.
3. показать компонент TextImg
4.
export default function TextImg(props) { return ( <React.Fragment> <Text style = {props.style}>{props.text} </Text> <Image source={{uri: props.imageUri}} style={props.style}/> </React.Fragment> ); };
Ответ №1:
Вы пытаетесь изменить код patern?
К чему-то вроде этого
<ScrollView >
<View>
<View>
<Text>title</Text>
<Image ..... />
<Text/>
</View>
</ScrollView>
Ответ №2:
Внутри «TextImg» вы предоставляете как «Изображение», так и «Текст» styles.propImg
.
Это дает им обоим высоту 200 пикселей.
может быть, попробуйте изменить свой «TextImg» следующим образом:
export default function TextImg(props) {
return (
<React.Fragment>
<Text style = {props.style[0]}>{props.text} </Text>
<Image source={{uri: props.imageUri}} style={props.style[1]}/>
</React.Fragment>
);
};
Это должно решить эту проблему.