在 React Native 中从内部对象中获取数据
Fetch Data from InnerObject In ReactNative
我正在开发一个应用程序,我在其中使用嵌套的 Flatlist。在 main-Flatlist 中,我们有 renderItems,在其中一个项目中,我有一个 inner-Flatlist,我试图在 renderItems 中显示项目。
我有 json
{
"data": {
"list": [
{
"name":"Developer",
"detail_values": [
{
"key1": "value1",
"key2": "value2"
},
{
"key1": "value1",
"key2": "value2"
}
]
},
{
"name":"Developer1",
"detail_values": [
{
"key1": "value1",
"key2": "value2"
},
{
"key1": "value1",
"key2": "value2"
}
]
},
{
"name":"Developer2"
},
{
"name":"Developer3"
}
]
}
}
从上面json,如何获取"detail_values"数组对象并在inner-Flatlist中显示数据。
在inner-Flatlist的renderItem方法中,我尝试过使用.map和forEach。我收到错误消息 Cannot read 属性 'map' of undefined
_renderItem({ item, index }) {
const children = item.detail_values
return (
<View style={styles.cardListCell}>
<View style={styles.view}>
{
item.detail_values.map(data => (
<View><Text>{data.key1}</Text></View>
))
}
<Text style={styles.countValue}>
{index}
</Text>
</View>
</View>
)
}
主要平面列表代码
return (
<FlatList
style={styles.container}
data={this.state.cardsMainModel.cards}// here cards is an array of models
renderItem={this._renderItem}
horizontal={false}
keyExtractor={this._keyExtractorInfoSection}
/>
);
内部 FlatList 代码
<View style={styles.innerView}>
<FlatList
data={this.state.dataSource} //datasource has `list` array
ItemSeparatorComponent={this.FlatListItemSeparator}
renderItem={this._renderItem}
ListHeaderComponent={this.renderHeader}
keyExtractor={({ id }, index) => id}
/>
</View>
{item != undefined
? item.detail_values.map(data => (
<View>
<Text>{data.key1}</Text>
</View>
))
: null}
试试这个。
我正在开发一个应用程序,我在其中使用嵌套的 Flatlist。在 main-Flatlist 中,我们有 renderItems,在其中一个项目中,我有一个 inner-Flatlist,我试图在 renderItems 中显示项目。 我有 json
{
"data": {
"list": [
{
"name":"Developer",
"detail_values": [
{
"key1": "value1",
"key2": "value2"
},
{
"key1": "value1",
"key2": "value2"
}
]
},
{
"name":"Developer1",
"detail_values": [
{
"key1": "value1",
"key2": "value2"
},
{
"key1": "value1",
"key2": "value2"
}
]
},
{
"name":"Developer2"
},
{
"name":"Developer3"
}
]
}
}
从上面json,如何获取"detail_values"数组对象并在inner-Flatlist中显示数据。
在inner-Flatlist的renderItem方法中,我尝试过使用.map和forEach。我收到错误消息 Cannot read 属性 'map' of undefined
_renderItem({ item, index }) {
const children = item.detail_values
return (
<View style={styles.cardListCell}>
<View style={styles.view}>
{
item.detail_values.map(data => (
<View><Text>{data.key1}</Text></View>
))
}
<Text style={styles.countValue}>
{index}
</Text>
</View>
</View>
)
}
主要平面列表代码
return (
<FlatList
style={styles.container}
data={this.state.cardsMainModel.cards}// here cards is an array of models
renderItem={this._renderItem}
horizontal={false}
keyExtractor={this._keyExtractorInfoSection}
/>
);
内部 FlatList 代码
<View style={styles.innerView}>
<FlatList
data={this.state.dataSource} //datasource has `list` array
ItemSeparatorComponent={this.FlatListItemSeparator}
renderItem={this._renderItem}
ListHeaderComponent={this.renderHeader}
keyExtractor={({ id }, index) => id}
/>
</View>
{item != undefined
? item.detail_values.map(data => (
<View>
<Text>{data.key1}</Text>
</View>
))
: null}
试试这个。