массив не является функцией в реагировать родной в массиве субкарты - PullRequest
0 голосов
/ 15 января 2020

это мой код для вызова массивов объекта

 {data.map((item, index ) =>
        <View>
        <Text key={index}>{item.type}</Text>

        {item.resultlist((sub,index)=>

            <Text key={index}>{sub.name}</Text>

          )}
            </View>
    )}

и это мой ответ json array

 {
"status": "success",
"message": "Home page Response",
"response": [
    {
        "type": "product",
        "status": true,
        "sort_order": 0,
        "resultlist": [
            {
                "name": "Mifa F1",
                "img": "https://www.achhacart.com/image/cache/catalog/new%20thumbnails/Mifa%20A1BlacjkThumbnail-600x600.jpg",
                "type": "product",
                "product_id": 87
            },
            {
                "name": "Earphone",
                "img": "https://www.achhacart.com/image/catalog/cmsblock/hgb5.png",
                "type": "category",
                "category_id": 20
            },
            {
                "name": "Air Purifier",
                "img": "https://www.achhacart.com/image/catalog/cmsblock/air.gif",
                "type": "product",
                "product_id": 87
            },
            {
                "name": "Powerbank",
                "img": "https://www.achhacart.com/image/catalog/cmsblock/Powerbank10.jpg",
                "type": "product",
                "product_id": 87
            }
        ]
    },
    {
        "type": "middleimage",
        "status": true,
        "sort_order": 1,
        "img": "https://www.achhacart.com/image/catalog/cmsblock/Powerbank10.jpg",
        "product_id": 187
    },
    {
        "type": "product",
        "status": true,
        "sort_order": 2,
        "resultlist": [
            {
                "name": "Mifa A1 Black",
                "img": "https://www.achhacart.com/image/cache/catalog/new%20thumbnails/Mifa%20A1BlacjkThumbnail-600x600.jpg",
                "type": "product",
                "product_id": 87
            },
            {
                "name": "Earphones",
                "img": "https://www.achhacart.com/image/catalog/cmsblock/hgb5.png",
                "type": "category",
                "category_id": 20
            },
            {
                "name": "Air Purifiers",
                "img": "https://www.achhacart.com/image/catalog/cmsblock/air.gif",
                "type": "product",
                "product_id": 87
            },
            {
                "name": "Powerbanks",
                "img": "https://www.achhacart.com/image/catalog/cmsblock/Powerbank10.jpg",
                "type": "product",
                "product_id": 87
            }
        ]
    },
    {
        "type": "slider",
        "status": true,
        "sort_order": 3,
        "resultlist": [
            {
                "title": "slider1",
                "link": "",
                "image": "https://www.achhamall.com/staging-achhamall.com/image/catalog/1AA/WeChatImage_20191228151402.jpg"
            },
            {
                "title": "slider2",
                "link": "",
                "image": "https://www.achhamall.com/staging-achhamall.com/image/catalog/1accc/WeChatImage_20191231125513.jpg"
            }
        ]
    }
]

}

как мне Вызовите подмассив внутри всей функции массива в реагировать на нативный. Я использую функцию карты, но ошибка все та же, и когда я вызываю объект массива вне объекта массива, его рендеринг подсказывает мне, где я ошибаюсь

Ответы [ 2 ]

2 голосов
/ 15 января 2020

Вам не хватает map, судя по всему, когда вы пытаетесь перебрать resultlist.

item.resultlist -> item.resultlist.map((sub, index) => { ... }

Похоже, что не каждый item в data содержит resultlist, поэтому, возможно, проверьте, существует ли он также.

1 голос
/ 15 января 2020

Есть две вещи: 1) Во-первых, вам также нужно применить карту в вашем дочернем массиве. 2) Вы не возвращаете элементы тега.

Используйте код ниже

{data.map((item, index ) =>
    return (
        <View>
            <Text key={index}>{item.type}</Text>
            {item.resultlist.map((sub,index)=>
       return (
                    <Text key={index}>{sub.name}</Text>
                )
            )}
        </View>
    );
)}
...