Застрял с: «Uncaught TypeError: this.state.users.map не является функцией» в реакции (Axios) - PullRequest
0 голосов
/ 08 июля 2019

Я хочу сделать запрос на получение этой фиктивной конечной точки: https://reqres.in/api/users/2

, но постоянно получаю сообщение об ошибке:

TypeError: this.state.users.map is not a function

Это мой код:

state = {
 users: []
}

componentDidMount() {
    axios.get(`https://reqres.in/api/users/2`)
        .then(res => {

            this.setState({ users : res.data });
        })
}

Любая помощь в том, что я делаю неправильно?

1 Ответ

0 голосов
/ 08 июля 2019

Похоже, что конечная точка возвращает объект, а не массив.

Если вы хотите использовать массив, вы можете сделать это:

this.setState({ users: [res.data] })

Но, в двух словах, я бы лично изменил это название государства на единственный термин. Затем используйте его как объект (как в конечной точке).

1010 * например *

this.setState({ person: res.data })

Тогда потребляйте свойства по желанию:

this.state.person.id

Надеюсь, это поможет 10

...