Есть несколько способов сделать это, как вы и ожидали. Если вы ожидаете, что должна существовать одна конечная точка для извлечения всех данных с помощью "Category": "food"
, вы ничего не сможете с этим сделать с помощью инструментов внешнего интерфейса (на самом деле есть несколько способов, но они больше не исходят из внутреннего интерфейса).
Иллюстрация проблемы
Итак, мы предполагаем, что когда мы вызываем localhost:4000/api/user-listing/
, мы получим массив объектов, который включает в себя несколько объектов с "Category": "food"
, тогда мы предполагаем, что мы получили следующие данные из выше конечной точки.
[{
"id": 1,
"_id": "5e9e5599a3f3e540e9c6553c-1",
"Title": "coke",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "drink"
},
{
"id": 2,
"_id": "5e9e5599a3f3e540e9c6553c-2",
"Title": "salmon",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "food"
},
{
"id": 3,
"_id": "5e9e5599a3f3e540e9c6553c-3",
"Title": "soda",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "drink"
},
{
"id": 4,
"_id": "5e9e5599a3f3e540e9c6553c-4",
"Title": "rice",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "food"
}
]
ПРИМЕЧАНИЕ: Я только что сделал этот пример массива данных для дополнительной иллюстрации. Вы должны заменить его на res.data
в своем коде.
Фильтрация данных
Чтобы получить все данные с помощью "Category": "food"
, мы можем просто сделать следующее:
const arrayOfData = [{
"id": 1,
"_id": "5e9e5599a3f3e540e9c6553c-1",
"Title": "coke",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "drink"
},
{
"id": 2,
"_id": "5e9e5599a3f3e540e9c6553c-2",
"Title": "salmon",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "food"
},
{
"id": 3,
"_id": "5e9e5599a3f3e540e9c6553c-3",
"Title": "soda",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "drink"
},
{
"id": 4,
"_id": "5e9e5599a3f3e540e9c6553c-4",
"Title": "rice",
"Description": "This box has everything you need - right now!",
"Phone": "021881821921",
"Category": "food"
}
]
const newArray = arrayOfData.filter(data => data.Category === "food")
console.log(newArray)
ОБНОВЛЕНИЕ
Итак, если вы обновите вопрос, хотите ли вы работать с вашими данными в .then
, это будет что-то как это:
Axios.get("localhost:4000/api/user-listing")
.then((res) => {
this.setState({
listing: res.data.filter(data => data.Category === "food")
})
});