Как обратиться в реакте к элементам объекта с вложенными массивами
есть объект с вложенными массивами в json файле
{ "capsules": [ { "capsule_serial": "C101", "capsule_id": "dragon1", "status": "retired", "original_launch": "2010-12-08T15:43:00.000Z", "original_launch_unix": 1291822980, "missions": [ { "name": "COTS 1", "flight": 7 } ], "landings": 0, "type": "Dragon 1.0", "details": "Reentered after three weeks in orbit", "reuse_count": 0 } ] } Не получается обратиться к missions name и missions flight |
DVV,
json.capsules[0].missions[0].name |
'json' is not defined no-undef
вот такое выдает почему именно так вы предлагаете? вот мой код. я вывожу через https://github.com/typicode/json-server#getting-started https://yadi.sk/i/L8PLNXLRyCFG4A https://yadi.sk/i/n6qQot1BvqJXtg https://yadi.sk/i/sIgwmuk8xwOiOA https://yadi.sk/i/agb8J_kc5zrfGQ https://yadi.sk/i/EpYGfPcUdaxE9A https://yadi.sk/i/GKSVS6waQ0lI9g |
DVV,
а так? capsules.missions[0].name |
нет. никаких ошибок не выдает, но и данные не выводит именно эти 2 параметра
вот сделал вывод в таблицу. все есть, а два столбца пустые. пытался их в консоль вывести пишет, что undefined https://yadi.sk/i/GXnEYOH_hkTjhg |
DVV,
в выводе таблицы у вас name, а в обработке данных missions_name -- сделайте имена одинаковыми. и лучше код текстом а не картинками. |
|
DVV,
_transformPosts = (capsules) => { return { capsule_serial: capsules.capsule_serial, capsule_id: capsules.capsule_id, status: capsules.status, original_launch: capsules.original_launch, original_launch_unix: capsules.original_launch_unix, *!* name: capsules.missions[0].name, flight: capsules.missions[0].flight, */!* landings: capsules.landings, type: capsules.type, details: capsules.details, reuse_count: capsules.reuse_count } } |
не помогло, так как тогда все надо и тут аналогичным образом менять
renderItems(arr) { return arr.map(capsule => { const { capsule_serial, capsule_id, status, original_launch, original_launch_unix, name, flight, landings, type, details, reuse_count } = capsule; return <Capsule key={capsule_serial} serial={capsule_serial} id={capsule_id} status={status} launch={original_launch} unix={original_launch_unix} name={name} fight={flight} landings={landings} type={type} details={details} reuse={reuse_count} /> }) } получились те же яйца, но с другой стороны |
DVV,
тогда тут поменяйте <td>{this.props.name}</td> на <td>{this.props.missions_name}</td> |
Часовой пояс GMT +3, время: 22:19. |