Итак, я сделал запрос API, используя axios
с реакцией, и попытался сохранить json в массиве в состоянии. Но когда регистрируется состояние, он дает мне 2 выхода: один был пустой массив, а другой был объект, который был возвращен. Не знаю, что происходит. Перепробовал все, что смог.
import React from "react";
import axios from "axios";
import { withRouter } from "react-router-dom";
class CustomerPage extends React.Component {
constructor(props) {
super(props);
this.state = {
customerData: []
};
}
componentDidMount() {
const {
match: { params }
} = this.props;
axios
.get(`http://localhost:5001/api/customer/data/${params.number}`)
.then(res => {
// console.log(res.data)
const customerData = res.data;
this.setState({
customerData: customerData
});
})
.catch(error => {
console.log(error);
});
}
render() {
const { customerData } = this.state;
console.log(customerData) //this returns the empty state array and the
//object from axios
return (
<div>
Your Info
{customerData.map(customer => (
<li key={customer._id}>{customer}</li>
))}
</div>
);
}
}
export default withRouter(CustomerPage);
Он дал мне вывод:
Ошибка типа: customerData.map не является функцией