如何在 ReactJS 中使用异步等待从 API 中获取数据?
原文:https://www . geeksforgeeks . org/如何从 API 获取数据-使用异步-等待-in-reactjs/
在本文中,我们将使用 ReactJS 向您想要的任何 API 发出 API 请求,并使用异步等待获取数据。这里我们使用了一个叫做 Axios 的东西,它是 ReactJS 中的一个库。
API:API 基本上是一种以 JSON (JavaScript 对象符号)和 XML(可扩展标记语言)格式存储数据的应用程序类型。它使任何设备都可以相互对话。
异步等待:异步确保函数返回一个承诺,并在其中包装非承诺。还有另一个词“等待”,它只在异步函数中起作用。
等待语法:
const Value = await promise;
创建反应应用程序并安装模块:
-
步骤 1: 使用以下命令创建一个反应应用程序:
jsx npx create-react-app foldername
-
步骤 2: 创建项目文件夹(即文件夹名)后,使用以下命令移动到该文件夹:
jsx cd foldername
-
步骤 3: 创建 ReactJS 应用程序后,使用以下命令安装所需的*模块:*
jsx **npm install axios**
**项目结构:如下图。****
****
项目结构****
**示例:****
*App.js*
**import React, { useState, useEffect } from 'react'
import axios from 'axios';
function App() {
const [loading, setLoading] = useState(false);
const [posts, setPosts] = useState([]);
useEffect(() => {
const loadPost = async () => {
// Till the data is fetch using API
// the Loading page will show.
setLoading(true);
// Await make wait until that
// promise settles and return its reult
const response = await axios.get(
"https://jsonplaceholder.typicode.com/posts/");
// After fetching data stored it in posts state.
setPosts(response.data);
// Closed the loading page
setLoading(false);
}
// Call the function
loadPost();
}, []);
return (
<>
<div className="App">
{loading ? (
<h4>Loading...</h4>) :
(posts.map((item) =>
// Presently we only fetch
// title from the API
<h4>{item.title}</h4>)
)
}
</div>
</>
);
}
export default App;**
**注意:作为一个例子,我们将使用 API【https://jsonplaceholder.typicode.com/posts/】给我们随机数据。在这里,我们的目标是看看这些数据中呈现了什么。您可以用您的应用编程接口替换它,并在 div 应用程序中进行更改。如果我们在 postman 上运行【https://jsonplaceholder.typicode.com/posts/】API,它会以 JSON 格式显示数据,如下图所示:****
**
**运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:****
**npm start**
**输出:现在打开浏览器,转到http://localhost:3000/,会看到如下输出:****
**
版权属于:月萌API www.moonapi.com,转载请注明出处