Как добраться до классов, которые находятся внутри массива объектов? - PullRequest
0 голосов
/ 02 ноября 2018

Это мой код:

state = {
    classes: []
}

  componentDidMount() {
    axios.get('/api/auth/booked/' + this.props.userId)
      .then(response => {
        const classes = response.data;
        const updatedClasses = classes.map(bookedClass => {
          return {
            ...bookedClass,
          }
        });
        this.setState({classes: updatedClasses});
        console.log(classes);
      })
      .catch(error => {
        console.log(error);
      });
  }

С помощью приведенного выше кода я получаю такой результат:

This is the array of objects I'm currently handling

Вот что я хочу получить:

This is the objects I want to get

Итак, я хочу глубже погрузиться в массив объектов, я хочу заполнить classes: [] информацией второго изображения.

Я также пробовал это, который добавлял classID на const classes = response.data.classId; в конце:

componentDidMount() {
    axios.get('/api/auth/booked/' + this.props.userId)
      .then(response => {
        const classes = response.data.classId;
        const updatedClasses = classes.map(bookedClass => {
          return {
            ...bookedClass,
          }
        });
        this.setState({classes: updatedClasses});
        console.log(classes);
      })
      .catch(error => {
        console.log(error);
      });
}

Но тогда я получаю ошибку. Есть идеи, как я могу получить доступ к объекту внутри этого массива?

1 Ответ

0 голосов
/ 05 ноября 2018

Вам необходимо вернуть в колбэке карты копию свойства classId каждого элемента массива.

const classes = response.data;
const updatedClasses = classes.map(bookedClass => ({...bookedClass.classId}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...