【发布时间】:2017-02-17 09:34:30
【问题描述】:
我正在尝试在 React 中使用 Axios 进行简单的 AJAX 调用,但我不知道哪里出错了。
这是我目前所拥有的(在我的组件中):
ComponentDidMount() {
axios.get('https://jsonplaceholder.typicode.com/users')
.then( res => {
const users = res
this.setState({ users });
});
}
render() {
console.log(this.state.users) // returns the **initialised EMPTY array**
return (
<div>
{this.state.users.map( user => <p>{user.name}</p>)} // returns nothing
</div>
)
}
我正在通过.get() 方法中给出的 URL 访问一个简单的数组(如果需要,请查看它的结构)。然后我链接.then() 承诺并在箭头函数中传递res 参数。
然后我将users 变量分配给结果,并尝试将状态设置为this。 所以此时我希望 this.state.users 等于结果数组。
不过……
A) 当我尝试 console.log(this.state.users) 时,它返回初始化的空数组
B) 当我尝试渲染数组的映射时,再次遍历每个对象的 name 属性,什么也没有。
我哪里出错了?
【问题讨论】:
标签: javascript arrays ajax reactjs axios