卡在:React(Axios)中的'Uncaught TypeError:this.state.users.map不是一个函数'

时间:2019-07-07 22:25:40

标签: reactjs api dictionary get axios

我想对此虚拟端点发出获取请求: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 :(得分:0)

看来端点正在返回一个对象而不是数组。

如果您想使用数组,可以这样做:

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

但总的来说,我个人会将状态名称更改为单数形式。然后将其用作对象(从端点开始)。

例如

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

然后根据需要消耗属性:

this.state.person.id

希望这对您有帮助