#javascript #reactjs #react-native
#javascript #reactjs #react-native
Вопрос:
Пожалуйста, у меня есть карта, на которой будут отображаться данные из моей базы данных, проблема в том, что изображение не отображается, но оно отображает остальные данные.
<FlatList
data={getListingsApi.data}
keyExtractor={(listing) => listing.id.toString()}
renderItem={({ item }) => (
<Card
title={item.title}
subtitle={"₦" item.price}
date={item.date_of_event}
imageUrl={item.photo}
category={item.category}
onPress={() => navigation.navigate(routes.LISTING_DETAILS, item)}
/>
Это URL-адрес изображения, который отображается при входе в систему —
«фото»: «http://127.0.0.1:8000/media/posts/n3.jpg «,
Компонент карты:
function Card({ title, subtitle, date, category, imageUrl, onPress }) {
return (
<TouchableWithoutFeedback onPress={onPress}>
<View style={styles.card}>
<Image
style={styles.image}
tint="light"
preview={{ uri: imageUrl }}
uri={imageUrl}
/>
{/* <Image style={styles.image} source={image} /> */}
<View style={styles.detailContainer}>
<AppText style={styles.title}>{title}</AppText>
<AppText style={styles.subtitle}>{subtitle}</AppText>
<AppText style={styles.subtitle}>{date}</AppText>
<AppText style={styles.subtitle}>{category}</AppText>
</View>
</View>
</TouchableWithoutFeedback>
);
}
Комментарии:
1. Необходимо указать, как вы отображаете изображение в своем компоненте card.
2. не могли бы вы показать мне
card
код компонента3. Я добавил его. Спасибо
Ответ №1:
Если вы используете эмулятор Android, вы должны использовать 10.0.2.2
для доступа к localhost на вашем ПК. и если вы используете реальное устройство, вам нужно быть в той же сети Wi-Fi и использовать IP-адрес вашего компьютера вместо localhost
Но все же есть несколько приемов для отображения изображения из разных источников.
Отображение изображения из папки ресурсов проекта :
<Image
source={{ uri: 'asset:/app_icon.png' }}
style={{ width: 40, height: 40 }}
/>
Отображение изображений из сети :
<Image source={{uri: 'https://reactjs.org/logo-og.png'}}
style={{width: 400, height: 400}} />
Из данных изображения base64 :
<Image style={{
width: 51,
height: 51,
resizeMode: 'contain'
}}
source={{
uri:
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAEXRFWHRTb2Z0d2FyZQBwbmdjcnVzaEB1SfMAAABQSURBVGje7dSxCQBACARB 2/ab8BEeQNhFi6WSYzYLYudDQYGBgYGBgYGBgYGBgYGBgZmcvDqYGBgmhivGQYGBgYGBgYGBgYGBgYGBgbmQw P/eMrC5UTVAAAAABJRU5ErkJggg=='
}}
/>
Дополнительная информация об изображении находится по этой ссылке: React native Image