У меня есть клиентская часть REACT JS и я использую PHP API для получения данных.Я извлекаю массив JSON Object из вызова API в следующем формате:
{
"records": {
"Master Automotives": [
{
"SparePartID": "43",
"Name": "Oil and Lubricants",
"Price": "4500",
"VendorID": "48",
"CompanyName": "Master Automotives"
},
{
"SparePartID": "45",
"Name": "Lights",
"Price": "2300",
"VendorID": "48",
"CompanyName": "Master Automotives"
}
],
"Repair Solutions": [
{
"SparePartID": "47",
"Name": "Steering Wheel",
"Price": "1500",
"VendorID": "60",
"CompanyName": "Repair Solutions"
}
],
"FiveStar Automotives": [
{
"SparePartID": "51",
"Name": "Brakes",
"Price": "234",
"VendorID": "70",
"CompanyName": "FiveStar Automotives"
},
{
"SparePartID": "53",
"Name": "Clutch",
"Price": "999",
"VendorID": "70",
"CompanyName": "FiveStar Automotives"
},
{
"SparePartID": "55",
"Name": "LED",
"Price": "288",
"VendorID": "70",
"CompanyName": "FiveStar Automotives"
}
]
}
}
Из ответа API я хочу сохранить вышеуказанные данные ответа (ИМЯ и ЦЕНА) в этом состоянии.
myrecords [] (который изначально пуст). Плюс я тоже хочучтобы добавить еще несколько элементов к этому выше JSON, например, для каждого
SPAREPART Я хочу добавить элементы "
Количество " и "
TotalPrice " для каждых данных.
Я пытаюсь использовать метод .push , чтобы добавить эти количества и итоговую цену для каждого элемента данных.вот мой вызов REACT API, где я выбираю данные и сохраняю их с помощью setState из myrecords [] и добавляю в них больше элементов, но ЭТО НЕ РАБОТАЕТ и показывает сообщение об ошибке.пожалуйста HELP ME, как правильно нажимать на предметы.
axios.post('http://localhost/Auth/api/customers/show_cart.php', arr,
{
headers: {'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json'}
} )
.then(response => {
console.log(response.data.records);
let myItems = [];
response.data.records.forEach((item) => {
myItems.push({SparePartID: item.SparePartID,
Name: item.Name,
Price: item.Price,
Quantity: 1,
totalPrice: item.Price});
})
this.setState({
myrecords: myItems
})
})
.catch(error => {
if (error) {
console.log("REACT Error. Cannot show cart items"); }
});