Как получить доступ к первому элементу массива в массиве в jsx React? - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь получить доступ к первому изображению, но вижу ошибки. Я могу получить к нему доступ с помощью функции карты, но я не хочу, чтобы все изображения были только первым. Но это не позволяет мне получить доступ к нему без функции карты

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

Ошибка: Невозможно прочитать свойство 'image' неопределенного.

cities:[
        {
          City:"city1",
          Images:[
                  {title: "first image" , image: "url"},
                  {title: "second image" , image: "url"}
                 ]
        },
        {
          City:"city2",
          Images:[
                  {title: "first image" , image: "url"},
                  {title: "second image" , image: "url"}
                 ]
        },
]
 {cities.map((city, index) => {
   return (
        <div key={index}>
          <img src={url + city.Images[0].image} alt={url + city.Images[0].image} /> // Getting Error here
          <p style={{ color: "#ea4c89", fontSize: '25px', fontWeight: "600", marginTop: "50px" }}>{city.City}</p>
        </div>
         )
 })}

1 Ответ

0 голосов
/ 02 августа 2020

Я не могу комментировать, поэтому я должен написать это, я отвечаю

Может быть, есть короткое время во время рендеринга, когда данные не загружены, и вы пытаетесь получить к ним доступ? Функция карты не выдаст ошибку при сопоставлении пустого массива, но будет получать доступ к индексу. Попробуйте добавить оператор if и вернуть, только если он загружен

...