【发布时间】:2018-03-25 19:01:53
【问题描述】:
关注
How to use async/await with axios in react
我正在尝试在 React.js 应用程序中使用 Async/Await 向我的服务器发出简单的获取请求。
服务器在/data 加载一个简单的 JSON,如下所示
JSON
{
id: 1,
name: "Aditya"
}
我能够使用简单的 jquery ajax get 方法将数据获取到我的 React 应用程序。 但是,我想利用 axios 库和 Async/Await 来遵循 ES7 标准。 我当前的代码如下所示:
class App extends React.Component{
async getData(){
const res = await axios('/data');
console.log(res.json());
}
render(){
return(
<div>
{this.getData()}
</div>
);
}
}
使用这种方法我得到以下错误:
对象作为 React 子级无效(找到:[object Promise])。如果 你的意思是渲染一组孩子,使用一个数组来代替。
我没有正确实现它吗?
【问题讨论】:
-
render() 工作得很好,因为我清楚地提到当我使用 $.ajax() 时可以获取详细信息。我应该添加什么额外的代码?这是一个使用 ES7 标准对服务器的简单 get 请求。
-
理想情况下,使用 Stack Snippets (the
[<>]工具栏按钮)。 Stack Snippets 支持 React,包括 JSX; here's how to do one. -
...但是添加的代码绝对让事情变得清晰。 :-)
-
仅供参考,
async/await是 ES2017 的一部分,不是 ES7 (ES2016)。 -
感谢您提供的信息。
标签: javascript json reactjs asynchronous ecmascript-2017