首页 > 解决方案 > 我无法访问 json 子数据

问题描述

"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>

我收到错误“未定义不是对象”我正在获取主要项目数据。但我无法获取它下面的数据。

标签: react-native

解决方案


你能试试这个:

 <SafeAreaView>
    <FlatList
      renderItem={this.renderMenuList}
      data={menus}
    />

只是通过,data因为只是接收数组,如果你放了你会传递一个对象prop dataFlatListdata.menu

所以,如果你想Kırmızı Et Menü在你的组件中调用这些项目renderMenuList,我认为你应该这样调用

   renderMenuList = ({item, index}) => {
return (
  <View>
    <Text>{item.name}</Text>
  </View>
);

还有一件事,你应该在你的组件中改变这个道具FlatList

  • data={data.menus}data={menus.items}

像这样的东西:

<FlatList
      renderItem={this.renderMenuList}
      data={menus.items}
    />

推荐阅读