@zlobniyPingvin

Как отобразить данные JSON в react-native без списка?

Добрый день. Постигаю разработку приложения на реакте нэйтиве, столкнулся с проблемой отображения данных.

Со стороны сервера приходит json
[
  {
    "cell_name": "112185",
    "id": "000000005",
    "pallets": [
      {
        "id": "000000016",
        "items": [
          {
            "product_info": {
              "name": "Ванилин 1,5 гр",
              "unit_info": {
                "name": "шт"
              },
            },
            "count": 100
          },
          {
            "document_uid": "a520c7b5-e990-11e9-ab43-005056ab6dbf",
            "product_info": {
              "name": "Огурцы конс. 0,72 1/12",
              "unit_info": {
                "name": "шт"
              },
            },
            "count": 23
          },
          {
            "document_uid": "a520c7b5-e990-11e9-ab43-005056ab6dbf",
            "product_info": {
              "name": "Опята конс. 370 г. 1/12",
              "unit_info": {
                "name": "шт"
              },
            },
            "count": 15
          }
        ]
      }
    ]
  }
]


Мне необходимо вывести информацию на экран.

Пробовал отображать таким образом, но меня постигла неудача - не выводится ничего.

return (
        <PageView
             ...
        >
            <View>

                    { cells.map((cell, cell_i) => {
                        const cell_name = cell.name == '' ? 'Без ячейки' : cell.name;
                        return (<Text key={cell_i}>Ячейка {cell_name}</Text> &&
                            ( for (i in cell.pallets) {
                                const pallet = cell.pallets[i];
                                const pallet_name = pallet.id == '' ? 'Без паллеты' : pallet.id;
                                return (<Text h2 key={cell_i+'.'+pallet_i}>Паллета {pallet_name}</Text> &&
                                    ( for(j in pallet.items) {
                                        const item = pallet.items[j];
                                        return (<Text key={cell_i+'.'+pallet_i+'.'+item_i}>{item.product_info.name} {item.count} {item.product_info.unit_info.name}</Text>);
                                    })
                                )
                            })
                       )
                    })}
            </View>
        </PageView>
        )


Возможно кто-нибудь натолкнет на мысль, как правильно отображать подобную структуру?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
{ cells.map((cell, cell_i) => {
  const cell_name = cell.name == '' ? 'Без ячейки' : cell.name;
  return <>
    <Text key={cell_i}>Ячейка {cell_name}</Text> 
    {cell.pallets.map(pallet => {...})} // троеточие замените на текст вывода
  </>
})}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы