簡體   English   中英

如何將對象數組轉換為Flatlist數據-React Native

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM