我想用 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])