[英]How to convert array of object to Flatlist data - React Native
我想顯示所有電話聯系人的清單。 現在,我有一個對象數組,但平面列表不適用於對象。 我嘗試了很多在網上找到的東西,但是徒勞無功...
我仍然收到此錯誤:不變違規:試圖獲取超出范圍索引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}
/>
)
}
你可以在if狀態下嘗試這個嗎
if (contacts.length > 0){
return contacts.map(item => {...item})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.