2017-08-30 139 views
0

我有一個數組字典。我想把所有的價值都呈現在平板上。 我嘗試:
React-native flatlist renderItem

renderItem = {({}項)=> item.A.id}

但我不返回任何值。請幫幫我。感謝

ArrAccount: { 
    "A": [ 
    { 
     "id": 1, 
     "name": "Anh Tuan Nguyen", 
     "age": 28 
    }, 
    { 
     "id": 2, 
     "name": "An Nhien", 
     "age": 2 
    }, 
    ], 
    "Z": [ 
    { 
     "id": 3, 
     "name": "Thanh Tu Pham", 
     "age": 32 
    }, 
    { 
     "id": 4, 
     "name": "Tien Thanh", 
     "age": 24 
    }, 
    ] 
} 
+0

是你的問題解決了嗎? –

回答

1

如果你喜歡這個

this.props.myArrayAccount = { 
     ArrAccount: { 
      "A": [ 
      { 
       "id": 1, 
       "name": "Anh Tuan Nguyen", 
       "age": 28 
      }, 
      { 
       "id": 2, 
       "name": "An Nhien", 
       "age": 2 
      }, 
      ], 
      "Z": [ 
      { 
       "id": 3, 
       "name": "Thanh Tu Pham", 
       "age": 32 
      }, 
      { 
       "id": 4, 
       "name": "Tien Thanh", 
       "age": 24 
      }, 
      ] 
     } 
     } 

const myArrayAccount = this.props.myArrayAccount.ArrAccount 
const ArrAccount = Object.keys(myArrayAccount).map((key)=> myArrayAccount[key]) 

因爲你propsthis.props.myArrayAccount場在其內部具有一個以上的對象,你應該首先應該map對象比映射Flatlist成分FlatList組件

您的數據應像這樣:

{ArrAccount.map((item) => 
    <FlatList 
     data={item} 
     renderItem={({item}) => <Text>{item.name}</Text>} 
    /> 
) 
} 
+0

謝謝。但我想獲得數組的所有值(A和Z或許多)。你有什麼辦法幫助我嗎? –

+0

我已經更新我的答案,以獲得您的對象的價值只是告訴我,如果這能解決您的問題 –

+0

感謝您的幫助! :d –

0

您應該使用renderItem這樣的:

renderItem = {({item:data}) => <Text>data.id</Text>} 

,這將列出所有的ID。

注意:這種風格非常簡單,您可以自定義物品的風格。

+0

我嘗試但沒有返回值。 {data.id}} /> –

+0

更新您對在完整代碼問題。 –