Я вызываю REST API из python и отображаю его в реакции с помощью ax ios. Но я получаю ошибку ниже. Я объявил объект состояния как массив, но получаю эту ошибку.
TypeError: this.state.persons.map не является функцией
From http://localhost: 8080 Я получаю значения, как показано ниже в POSTMAN
{
"name": "test",
"age": "23",
"sex": "male"
}
import React from 'react';
import axios from 'axios';
export default class PersonList extends React.Component {
state = {
persons: []
}
componentDidMount() {
axios.get(`http://localhost:8080`)
.then(res => {
const persons = res.data;
//console.log(persons)
this.setState({ persons });
console.log(typeof(this.state.persons))
console.log(this.state.persons)
})
}
render() {
return (
<ul>
{ this.state.persons.map(person => <li>{person.name}</li>)}
</ul>
)
}
}
Мой python код такой. Я использую cherrypy
Я также использую @ cherrypy.tools.json_out () для возврата JSON
@cherrypy.tools.json_out()
def GET(self):
name = 'test'
age = '23'
sex = 'male'
return {'name': name,
'age': age,
'sex': sex
}
Мой файл conf
conf = {
'/': {
'request.dispatch': cherrypy.dispatch.MethodDispatcher(),
'tools.sessions.on': True,
'tools.response_headers.on': True,
'cors.expose.on': True,
'tools.response_headers.headers': [('Content-Type', 'application/json')],
}
}
```python