@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
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
В then приходит результат, который возвращает предыдущий then. Метод forEach возвращает undefined.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы