"menus": [
{
"key": "main",
"description": "Siparişinizi oluşturun",
"items": [
{
"name": "İndirimli Menüler",
"caption": "İndirimli Menüler",
"image": "./images/kirmizi-et-menu.jpg",
"items": [
{
"name": "Kırmızı Et Menü",
"caption": "Kırmızı Et Menü",
"price": 2095,
我无法以这种方式访问此json数据。我该怎么办?
renderMenuList = ({item, index}) => {
return (
<View>
<Text>{item.items[0].items[0].name}</Text>
</View>
);
};
render() {
return (
<SafeAreaView>
<FlatList
renderItem={this.renderMenuList}
data={data.menus}
/>
</SafeAreaView>
我收到错误消息“未定义不是对象” 我正在获取主要项目数据。但是我无法获得下面的数据。
答案 0 :(得分:1)
您能尝试一下吗?
<SafeAreaView>
<FlatList
renderItem={this.renderMenuList}
data={menus}
/>
仅通过data
,因为prop data
的{{1}}仅接收数组,如果放置FlatList
,则将传递对象
因此,如果您想在组件data.menu
中调用Kırmızı Et Menü
这样的项目,我想您应该采用这种方式
renderMenuList
还有另一件事,您应该在组件 renderMenuList = ({item, index}) => {
return (
<View>
<Text>{item.name}</Text>
</View>
);
中更改此属性:
FlatList
至data={data.menus}
类似这样的东西:
data={menus.items}
答案 1 :(得分:0)
Ciao,我认为您的问题出在renderMenuList
上。试试这个:
renderMenuList = menus.forEach((item, index) => { ... });