Попытка выбрать свойство из массива внутри объекта, внутри массива. Ошибка типа: Не удается прочитать свойства неопределенного

#javascript #reactjs #jsx

Вопрос:

Я пытаюсь создать проект с помощью React, который может отображать домашнюю работу по курсу в списке дел. В настоящее время у меня есть некоторые тестовые данные, показанные здесь:

 const courses = [  {  courseName: "Fundies 2",  classCode: "CS2510",  startTime: "4:35 PM",  location: "236 Richards Hall",  color: "red",  homework: [{ hwName: "HW3", timeDue: "8:30 PM" }]  },  {  courseName: "Mathematical Reasoning",  classCode: "MATH1365",  startTime: "10:20 AM",  location: "235 Ryder Hall",  color: "blue",  homework: [  { hwName: "HW2", timeDue: "midnight" },  { hwName: "HW3", timeDue: "midnight" },  ]  },  ];  

Я создал функцию для создания компонента из этих данных, как показано ниже.

 const formattedCourses = courses.map((course) =gt; {  return (  lt;Task  key={course.homework[1].hwName}  timeDue={course.homework[1].timeDue}  courseName={course.courseName}  hwName={course.homework[1].hwName}  color={course.color}  /gt;  );  });  

Я хочу, чтобы компонент был сделан с первой записью в массиве домашних заданий. Однако всякий раз, когда я пытаюсь скомпилировать, я получаю

«Ошибка типа: Не удается прочитать свойства неопределенного (чтение ‘hwName’)»

Как я могу это исправить?

Мы очень ценим любую и всяческую помощь!

Ответ №1:

Ваш индекс неверен. Если вам нужна первая запись, то она должна быть 0 вместо 1

 const formattedCourses = courses.map((course) =gt; {  return (  lt;Task  key={course.homework[0].hwName}  timeDue={course.homework[0].timeDue}  courseName={course.courseName}  hwName={course.homework[0].hwName}  color={course.color}  /gt;  );  });  

Комментарии:

1. Вау. Я знал, что это будет что-то такое простое и глупое. ха-ха-ха, спасибо тебе @Mohit Mutha