📅  最后修改于: 2023-12-03 15:09:16.978000             🧑  作者: Mango
React 应用程序通常需要使用外部 API 来获取数据。本文将介绍如何使用 API 获取随机笑话数据以在 React 应用程序中使用。
在开始编写代码前,我们需要选择一个适合我们用途的 API。这里我们推荐一个叫做 icanhazdadjoke 的 API,它是一个提供大量父亲笑话(Dad Jokes)的 API,并且完全免费。
要从 API 中获取数据,我们需要向 API 发送请求。在 React 应用程序中,我们可以使用 fetch
函数来发送请求。
以下是如何使用 fetch
函数向 icanhazdadjoke
API 发送 GET 请求:
fetch('https://icanhazdadjoke.com/', {
headers: {
Accept: 'application/json',
},
})
.then((response) => response.json())
.then((data) => console.log(data));
在上面的代码中,我们向 https://icanhazdadjoke.com/
发送了一个 GET 请求,并且指定了请求头为接受 JSON 数据。当请求返回时,我们将响应体解析为 JSON 并输出到控制台。
现在我们已经知道如何使用 API 获取数据,那么我们如何将它应用到我们的 React 应用程序中呢?我们可以在组件的生命周期方法 componentDidMount
中发送请求,并将数据存储在组件的状态中。
以下是一个示例组件,它在加载时获取随机笑话数据并展示在页面上:
import React, { Component } from 'react';
class RandomJoke extends Component {
constructor(props) {
super(props);
this.state = {
joke: '',
};
}
componentDidMount() {
fetch('https://icanhazdadjoke.com/', {
headers: {
Accept: 'application/json',
},
})
.then((response) => response.json())
.then((data) => {
this.setState({
joke: data.joke,
});
});
}
render() {
return <p>{this.state.joke}</p>;
}
}
export default RandomJoke;
在上面的代码中,我们定义了一个名为 RandomJoke
的组件,并在组件的构造函数中初始化了状态。在 componentDidMount
中,我们发送了 GET 请求并将响应体解析为 JSON,然后将笑话存储在组件的状态中。最后,在 render
方法中,我们将笑话展示在页面上。
在本文中,我们学习了如何使用 API 获取随机笑话数据,并将其应用到 React 应用程序中。我们使用了 fetch
函数向 API 发送请求,并使用组件的状态存储了笑话数据。希望本文对你有所帮助!