Reactjs 将平面列表与objectMap一起使用

Reactjs 将平面列表与objectMap一起使用,reactjs,react-native,foreach,react-native-flatlist,Reactjs,React Native,Foreach,React Native Flatlist,Im用于基于id规范化api响应。因此最终的规范化响应将是 { "names": { "12": { "Name": "ABC", "Status": "0", "Count": 11, }, "31": { "Name": "CDE", "Status": "1", "Count": 12, } } } 如何在平面列表中使用此名称对象贴图。它不是一个数组,而是一个对象映射。 最好的

Im用于基于id规范化api响应。因此最终的规范化响应将是

{
  "names": {
    "12": {
      "Name": "ABC",
      "Status": "0",
      "Count": 11,
    },
    "31": {
      "Name": "CDE",
      "Status": "1",
      "Count": 12,
    }
  }
}
如何在平面列表中使用此名称对象贴图。它不是一个数组,而是一个对象映射。 最好的方法是什么


PS:我知道有lodash函数,但我认为它会因为巨大的响应而变慢。

首先,您可以更改对象以返回带有object.keys的数组

这是您的数据

{
  "names": {
    "12": {
      "Name": "ABC",
      "Status": "0",
      "Count": 11,
    },
    "31": {
      "Name": "CDE",
      "Status": "1",
      "Count": 12,
    }
  }
}
你可以这样做

const dataname = data.names
const datanamearr = Object.keys(dataname).map(key => dataname[key])
这将返回一个数组

然后,您可以使用映射函数将数据渲染到平面列表

{datanamearr.map((item) =>
    <FlatList
      data={item}
      renderItem={({item}) => <Text>{item.Name}</Text>}
    />
  )
}