@k3499

Почему при переборе пишет, что массива нет, а в console.log все выводит?

При выводе массива в console.log все отображается
645a734005b50600508426.jpeg

но когда пытаюсь перебрать, то вылетает ошибка

export default function Menu({ slug, catList }) {
  console.log(catList)
  catList.map((element) => {
    return (console.log(element));
  })


645a738c37336086590755.jpeg
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Если очень коротко - потому что console.log выводит актуальное состояние объекта (на момент, в котором вы смотрите в консоль), а не состояние на момент вызова console.log.
Видите в консоли рядом с массивом на первой строчке квадратик с буквой i ? Это индикатор того, что выводимый объект мутировал

Если код клиентский, а не серверный, рекомендую в нужном месте поставить debugger; // вместо console.log(catList)

?? Вероятно, catList вам из какого-то запроса приходит? Тогда на момент первого рендера его может не быть
Достаточно поправить так:
Menu({ slug, catList = [] })
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы