我想用 React 每 10 秒刷新一次 api 部分
I want to refresh the api section every 10 secondes with React
我想重复这个动作并每 10 秒重新渲染一次。有人可以帮我吗?
useEffect(() => {
const fetchData = async () => {
setIsLoading(true)
const response = await coinGecko.get("/coins/markets", {
params: {
vs_currency: "usd",
ids: watchList.join(","),
}
})
setCoins(response.data)
setIsLoading(false)
}
fetchData()
},[])
定义状态: const [repeater,setRepeater]=useState(0)
在您的 useEffect 中将其作为第二个参数传递,因此无论何时更改,您的 useEffect 都会再次 运行 。现在让我们用这段代码处理 10 秒的间隔:
setTimeout(() => setRepeater(prevState=>prevState+1), 100000);
最后像这样实现它:
useEffect(() => {
const fetchData = async () => {
setIsLoading(true)
const response = await coinGecko.get("/coins/markets", {
params: {
vs_currency: "usd",
ids: watchList.join(","),
}
})
setCoins(response.data)
setIsLoading(false)
}
fetchData()
setTimeout(() => setRepeater(prevState=>prevState+1), 100000);
},[repeater])
我想重复这个动作并每 10 秒重新渲染一次。有人可以帮我吗?
useEffect(() => {
const fetchData = async () => {
setIsLoading(true)
const response = await coinGecko.get("/coins/markets", {
params: {
vs_currency: "usd",
ids: watchList.join(","),
}
})
setCoins(response.data)
setIsLoading(false)
}
fetchData()
},[])
定义状态: const [repeater,setRepeater]=useState(0)
在您的 useEffect 中将其作为第二个参数传递,因此无论何时更改,您的 useEffect 都会再次 运行 。现在让我们用这段代码处理 10 秒的间隔:
setTimeout(() => setRepeater(prevState=>prevState+1), 100000);
最后像这样实现它:
useEffect(() => {
const fetchData = async () => {
setIsLoading(true)
const response = await coinGecko.get("/coins/markets", {
params: {
vs_currency: "usd",
ids: watchList.join(","),
}
})
setCoins(response.data)
setIsLoading(false)
}
fetchData()
setTimeout(() => setRepeater(prevState=>prevState+1), 100000);
},[repeater])