Проблема в том, что он говорит:
TypeError: undefined is not an object(evaluating 'image[0]')
Это происходит, когда я вызываю свой плоский список
<FlatList
numColumns={2}
data={matches}
keyExtractor={(item, index) => index.toString()}
renderItem={({ item, index }) => (
<TouchableOpacity onPress={()=> chat(item)}>
<CardItem
image={item.images} // this is where the error is
name={item.name}
variant
/>
</TouchableOpacity>
)}
/>
, но когда я консоль регистрирую свой ответ от состояния (совпадений), это показывает, что
[{"age": 21, "bio": "?", "height": "180", "id": 3, "images": [[Array]], "interest": [[Array]], "name": "JB Borja"]
data={matches}
показывает ответ выше. Но когда я звоню
console.log(item.images)
Это показывает, что оно не определено. Если на самом деле внутри совпадений есть значение.
CardItem. js:
const CardItem = ({
actions,
description,
image,
uid,
myId,
name,
onPressRight,
onPressLeft,
status,
variant
}) => {
return (
<View style={styles.containerCardItem}>
<Image source={{uri: image[0][0] }} style={imageStyle} /> // this is where the error starts
<Text style={nameStyle}>{name}</Text>
);
Причина, по которой я добавил изображение [0] [0], заключается в том, что ответ массива находится в это
форма: images: [[url], [url]].
Мне нужно было только получить первый массив изображений. Даже когда я ставлю консольный журнал в этом const. Я до сих пор не определен. Так что ошибка не внутри CardItem.js; а точнее, где находится плоский список.