Javascript 不显示平面列表数据
我正在开发一个React本地应用程序 我正在从RealmDB中获取Javascript 不显示平面列表数据,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在开发一个React本地应用程序 我正在从RealmDB中获取数据,并根据listId对该数据进行分组 我想在平面列表中呈现以下数据,但没有显示任何数据 const data = { "6": [ { "id": 13, "listId": 6, "piece": 1, }, { "id": 12, &q
数据
,并根据listId
对该数据进行分组
我想在平面列表中呈现以下数据,但没有显示任何数据
const data = {
"6": [
{
"id": 13,
"listId": 6,
"piece": 1,
},
{
"id": 12,
"listId": 6,
"piece": 1,
}
],
"7": [
{
"id": 15,
"listId": 7,
"piece": 1,
},
{
"id": 14,
"listId": 7,
"piece": 1,
}
]
}
我的尝试是:
<FlatList
numColumns={2}
//keyExtractor={(item) => "key" + item.id}
data={this.state.data}
renderItem={({ item }) => (
<View>
<Text>{item.piece}</Text>
</View>
)}
/>
“key”+item.id}
data={this.state.data}
renderItem={({item})=>(
{item.piece}
)}
/>
在
FlatList
中,使用上述数据的正确方法是什么?您可以使用该方法调整数据:
const flatten = (data) => Object.values(data).flat();
const data = {
"6": [
{
"id": 13,
"listId": 6,
"piece": 1,
},
{
"id": 12,
"listId": 6,
"piece": 1,
}
],
"7": [
{
"id": 15,
"listId": 7,
"piece": 1,
},
{
"id": 14,
"listId": 7,
"piece": 1,
}
]
};
const flatData = flatten(data);
然后您可以根据需要使用它:
flatData.map(item => item.piece)
如果不想更改数据样式,可以这样访问。
(
{项目[0]。项目}
{项目[1]。件}
)}
/>
根据,数据必须是普通数组,而您的是对象。您希望在文本
组件中显示什么?{item.piece}
。有没有办法将数据转换为普通数组?使用这种方法,我会丢失分组的数据。我试图在同一组中显示是否有任何块具有相同的listId
。
You can access like this if don't want to change data style.
<FlatList
numColumns={2}
data={this.state.data}
renderItem={({ item }) => (
<View>
<Text>{item[0].piece}</Text>
<Text>{item[1].piece}</Text>
</View>
)}
/>