Я хочу отобразить плоский список всех контактов телефона.Теперь у меня есть массив объектов, но плоский список не работает с объектами.Я перепробовал много вещей, найденных в сети, но тщетно ...
Я все еще получаю эту ошибку: Инвариантное нарушение: Пытался получить кадр для индекса вне диапазона NaN.
Что яесть сейчас: Array [Object {"name": "toto", "id": 550, ...}, ...]
То, что я хотел бы это: Array [{name: "toto", id: 550, ...}, ...]
Мой код:
async getContactAsync() {
// permissions
// Get all contacts from device
const { data: contacts } = await Contacts.getContactsAsync({
fields: [
Contacts.Fields.id,
Contacts.Fields.name,
Contacts.Fields.firstName,
Contacts.Fields.lastName,
Contacts.Fields.phoneNumbers
]
});
if (contacts.length > 0) {
return contacts;
}
}
keyExtractor = (item, index) => index.toString()
renderItem = ({ item }) => (
<ListItem
title={item.name}
...
}
/>
)
render () {
return (
<FlatList
keyExtractor={this.keyExtractor}
data={this.getContactAsync()}
renderItem={this.renderItem}
/>
)
}