Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2019, 20:48
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

Как обратиться в реакте к элементам объекта с вложенными массивами
есть объект с вложенными массивами в 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
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2019, 21:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

DVV,
json.capsules[0].missions[0].name
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2019, 21:53
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

'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
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2019, 22:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

DVV,
а так?
capsules.missions[0].name
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2019, 23:23
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

нет. никаких ошибок не выдает, но и данные не выводит именно эти 2 параметра
вот сделал вывод в таблицу. все есть, а два столбца пустые. пытался их в консоль вывести пишет, что undefined
https://yadi.sk/i/GXnEYOH_hkTjhg
Ответить с цитированием
  #6 (permalink)  
Старый 03.06.2019, 07:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

DVV,
в выводе таблицы у вас name, а в обработке данных missions_name -- сделайте имена одинаковыми.
и лучше код текстом а не картинками.
Ответить с цитированием
  #7 (permalink)  
Старый 03.06.2019, 09:31
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

https://github.com/ViacheslavDemchenko/react-lists
Ответить с цитированием
  #8 (permalink)  
Старый 03.06.2019, 10:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

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
        }
    }
Ответить с цитированием
  #9 (permalink)  
Старый 03.06.2019, 11:55
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

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

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}
                    />
        })
    }


получились те же яйца, но с другой стороны
Ответить с цитированием
  #10 (permalink)  
Старый 03.06.2019, 12:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

DVV,
тогда тут поменяйте
<td>{this.props.name}</td>
на
<td>{this.props.missions_name}</td>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как элементам массива назначить переменные? vospa Events/DOM/Window 4 02.09.2018 00:41
как правильно обращаться к свойствам объект внутри самого объекта ? mitiya Общие вопросы Javascript 12 25.04.2015 21:18
как обратиться к элементу созданному с помощью jQuery .after() ? mitiya Общие вопросы Javascript 1 25.09.2012 03:11
как узнать тип значения объекта? VHS Общие вопросы Javascript 1 07.01.2009 23:57
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55