【发布时间】:2021-11-03 20:33:42
【问题描述】:
在我的函数getFact() 中,我创建了一个 GET 并返回数据。我遇到的问题是请求无限循环,而不仅仅是一次。
这是我的代码:
import React, {useState} from "react";
import axios from "axios";
function Facts() {
const [fact, setFact] = useState("");
const [source, setSource] = useState("");
const [id, setID] = useState("");
function getFact() {
axios.get("https://exampleAPI.com/", { crossdomain: true }).then(response => {
setFact(response.data[0].fact);
setSource(response.data[0].sources);
setID(response.data[0].id);
});
}
getFact();
return (
<div>
<h1 class="text-light fw-light landing-text">{id}</h1>
<p class="text-light">fact number</p>
<hr class="text-light" />
<h1 class="text-light fw-light landing-text">"{fact}"</h1>
<a class="text-light text-decoration-none" href={source} target="_blank" rel="noopener noreferrer">source</a>
<br />
<br />
<button class="btn btn-lg btn-outline-light" onClick={getFact}>
Next Fact
</button>
</div>
)
}
export default Facts;
感谢任何帮助!
【问题讨论】:
-
您在点击事件时调用 getFact。为什么还要在return语句上面调用呢?
标签: javascript reactjs api axios request