I'm really confused as to what i'm doing wrong here.. Anytime I call for the stylesheet to handle styling for this particular image nested in View, i have to declare its dimensions within the actual jsx. Sorry If i'm using any terminology wrong I'm new to react native.
Here's my code that's NOT displaying the image:
import { StatusBar } from 'expo-status-bar';
import {StyleSheet, Text, View, Image } from 'react-native';
export default function App() {
return (
<View style={styles.container}>
<View style={styles.restaurantContainer}>
<Image
source = {{ uri:"http://pngimg.com/uploads/google/google_PNG19632.png" }}
style = { styles.image }/>
</View>
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
image: {
width: 100,
height: 100,
},
restaurantContainer: {
width: "100%",
},
},
});
here's the code that displays the image fine
<View style={styles.container}>
<View style={styles.restaurantContainer}>
<Image
source = {{ uri:"http://pngimg.com/uploads/google/google_PNG19632.png" }}
style = {{ height:100, width:100 }}/>
</View>
CodePudding user response:
The image style is nested within the container style, which is why it is not found when calling styles.image. The image and restaurantContainer style should be defined at the same level as container like this:
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#fff",
alignItems: "center",
justifyContent: "center",
},
image: {
width: 100,
height: 100,
},
restaurantContainer: {
width: "100%",
},
});
