Я делаю приложение с React Native, в котором я показываю автомобили F1 в качестве школьного проекта, и я получаю свои данные (названия, изображения и т. д.) из сообщений на моем веб-сайте Wordpress. Я делаю это с помощью выборки. (Примечание: я новичок в этом, поэтому извините, если моя формулировка немного сложна.)
Я использую почтальон для поиска своих данных, и я нашел свое изображение, которое хочу использовать:
"og_image": [
{
"width": 1920,
"height": 1080,
"url": "https://tibomertens.be/wp-content/uploads/2022/12/F1-75_JPG_SPONSOR_00004.jpg",
"type": "image/jpeg"
}
],
Итак, в моем коде React Native я написал это, чтобы получить URL-адрес изображения:
{item.id === 572 && (
<Image
style = {{ width: 50, height: 200 }}
source = {{ uri: `${item.og_image[0].url}` }}
/>
)}
Но выдает ошибку "[TypeError: undefined не является объектом (оценка 'item.og_image[2]')]".
полный код:
const Cars = ({ navigation }) => {
const [Cars, setCars] = useState([]);
const getCars = async () => {
try {
const response = await fetch(
"https://tibomertens.be/wp-json/wp/v2/posts?categories=8",
{}
);
const json = await response.json();
setCars(json);
console.info(Cars);
console.info("hey");
} catch (error) {
console.error(error);
}
};
useEffect(() => {
getCars();
}, []);
return (
<View>
<FlatList
data = {Cars}
renderItem = {({ item }) => (
<View>
<Text>
{"\n"}
{item.id === 572 && (
<Image
style = {{ width: 50, height: 200 }}
source = {{ uri: `${item.og_image[0].url}` }}
/>
)}
<Text>
{item.title.rendered} {"\n"}{" "}
</Text>
<Text>{item.rttpg_excerpt}</Text>
</Text>
<Pressable
onPress = {() =>
navigation.navigate("Details", {
itemTile: item.title.rendered,
})
}
>
<Text>bekijk product</Text>
</Pressable>
</View>
)}
></FlatList>
</View>
);
};
Спасибо за чтение и, надеюсь, кто-то может мне помочь!
Абэ, это дает [TypeError: undefined не является объектом (оценка 'item.og_image[0]'), когда я пытаюсь это сделать.
Попробуйте выйти из item из обратного вызова renderItem и посмотрите, что вы на самом деле получаете.





обновленный ответ. Измените этот код:
{item.id === 572 && (
<Image
style = {{ width: 50, height: 200 }}
source = {{ uri: `${item.og_image[0].url}` }}
/>
)}
к:
{item.yoast_head_json?.og_image !== undefined && <Image
style = {{ width: 50, height: 200 }}
source = {{ uri: `${item.yoast_head_json.og_image[0].url}` }}
/>
}
Эй, Разиэль, это дает ошибку «[TypeError: undefined не является объектом (оценка« item.og_image [0] »)». Есть идеи, почему?
это потому, что og_image существует только с идентификатором 572. Проверьте обновленный ответ
К сожалению, это дает мне ту же ошибку:/
можете ли вы опубликовать обновленный код в исходном вопросе
Я обновил свой исходный вопрос
попробуйте обновленный ответ
Вы уверены, что это правильный способ доступа к URL-адресу изображения? Судя по тому, что вы написали, это будет
item.og_image[0].url