Задать вопрос
@JordanBelford

Почему у объекта поле data undefined?

Добрый день! Я отправляю сетевой запрос на route, и мне приходит два объекта room и service, мне необходимо для каждого из данных объектов вызвать соответствующую функцию.
Реализовал вот так:
useEffect(() => {
        axios.get('/main')
            .then(res => res.data.room.forEach(item => {
                props.addRoom(item._id, item.number, item.storey, item.sort, item.cost, item.state);
            }))
            .then(res => res.data.service.forEach(item => {
                props.addNewService(item._id, item.number, item.sort, item.date, item.state);
            }));
    }, []);

Но проблема в том, что react ругается на второй promise. В чем может быть проблема? С первым все отлично, все работает как надо.
Код route может быть пригодиться:
router.get('/main', async (req, res, next) => {
    try {
        const room = await Room.find({});
        const service = await Service.find({});
        res.send({room, service})
    } catch (e) {
        console.error(e.message);
    }
});

Ошибка:
6090b5464b956419201131.png
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
В then приходит результат, который возвращает предыдущий then. Метод forEach возвращает undefined.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽