Quiero repetir esta acción y volver a renderizarla cada 10 segundos. Puede alguien ayudarme con eso ?
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() },[])defina un estado: const [repeater,setRepeater]=useState(0) en su useEffect, páselo como segundo argumento, de modo que cada vez que se cambie, su useEffect se ejecutará nuevamente. Ahora ocupémonos de los intervalos de 10 segundos con este fragmento de código: setTimeout(() => setRepeater(prevState=>prevState+1), 100000); y finalmente implementarlo como este:
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])