HTTP-запрос работает, как и ожидалось, но я вижу дополнительный запрос к /%3Canonymous%3E
, который возвращает 404. Это вызывает следующую ошибку в Redux:
Необработанный отказ (TypeError): невозможно прочитать свойство 'data' из
не определено
Я не вижу 404 в запросах к другим маршрутам в других компонентах, например, / api / users из пользовательского компонента. Я изменил запросы на получение и маршруты, чтобы соответствовать тому из пользователя, но проблема все еще сохраняется. Я попробовал запрос в почтальоне, и он отвечает ожидаемым результатом. Дополнительный запрос к /% 3Canonymous% 3E происходит только при получении запросов на ресурс заказа в браузере (из приложения).
GET запрос:
export const getOrders = () => dispatch => {
axios
.get("api/orders/")
.then(res =>
dispatch({
type: GET_ORDERS,
payload: res.data
})
)
.catch(err =>
dispatch({
type: GET_ERRORS,
payload: err.response.data
})
);
};
Заказ маршрута:
router.get(
"/",
(req, res) => {
Order.find()
.then(orders => res.json(orders))
.catch(err => {
res.json(err);
});
}
);
getOrder Reducer:
case GET_ORDERS:
return {
...state,
allOrders:
action.payload
};
Редуктор всего заказа:
import {
GET_ORDERS,
ADD_ORDER,
EDIT_ORDER,
SET_EDITING_ORDER
} from "../actions/types";
const initialState = {
editingOrder: {},
allOrders: [],
editedOrder: {}
};
export default function(state = initialState, action) {
switch (action.type) {
case SET_EDITING_ORDER:
return {
...state,
editingOrder: action.payload
};
case EDIT_ORDER:
return {
...state,
editedOrder: action.payload
};
case GET_ORDERS:
return {
...state,
allOrders: action.payload
};
case ADD_ORDER:
// state.allOrders.push(action.payload);
return {
...state,
allOrders: [...state.allOrders, action.payload]
// newOrder: action.payload [don't need this
};
default:
return state;
}
}
Данные возвращаются и заполняются в состоянии избыточности, но этот дополнительный случайный запрос вызывает проблему. Заранее благодарим.