Я преобразовал свой компонент класса в функциональный. Я хочу обновить состояния своих значений, когда я делаю почтовый запрос к API, но мой stockId всегда равен 0, и я получаю Error: Request failed with status code 500
.
function NowyZakup () {
const [date, setDate] = useState('');
const [count, setCount] = useState(0);
const [productId, setProductId] = useState(0);
const [stockId, setStockId] = useState(0);
...
const saveStock = () => {
var data = {
stockId: stockId,
productId: productId,
date: date,
count: count,
};
axios.post('http://localhost:8000/api/stock/', data, {
headers: {
"Content-type": "application/json"
}
})
.then(response => {
setStockId(response.data.stockId);
setProductId(response.data.productId);
setDate(response.data.date);
setCount(response.data.count);
console.log(response.data)
})
.catch(e => {
console.log(e);
});
console.log(data)
}
Ошибка 500 означает, что ошибка существует на стороне сервера, а не на стороне переднего плана.
Как/когда/где вызывается
saveStock
? Если запрос не выполнен успешно, состояние никогда не обновится. Таким образом, похоже, проблема связана с начальными значениями, которые вы используете в запросе. Как вы ожидаете, что конечная точка API будет делать сstockId
иproductId
0
?