TypeError: this.state.persons.map в React - PullRequest
0 голосов
/ 08 мая 2020

Я вызываю 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
...