React-native flatlist renderItem

时间:2017-08-30 04:16:06

标签: react-native

我有一个数组字典。我想将所有值呈现为flatlist。 我试试:

  

renderItem = {({item})=> 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
    },
  ]
}

2 个答案:

答案 0 :(得分:1)

如果你的this.props.myArrayAccount字段是这样的

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])

因为您的props内部有多个对象,所以您应首先map该对象,而不是映射Flatlist组件

FlatList组件中的数据应该是这样的:

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

答案 1 :(得分:0)

你应该像这样使用renderItem

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

这将列出所有ID。

注意:此样式非常简单,您可以自定义项目的样式。