Quiero crear un botón de actualización. Recargar la página ya funciona, pero lamentablemente los datos no se recuperan. ¿Alguien de ustedes tiene una idea?
El código del botón de actualización es:
const { reload, query } = useRouter(); <Button onClick={() => { reload(); }} > Refresh </Button>El código de la búsqueda es:
const { data } = await axios.get(`http://localhost:5000//${nr}`); const extractedData = data.data; setData(extractedData); if (extractedData) { const unixTimestamp = data.data.unixtime; const millisecons = unixTimestamp * 1000; const dateObj = new Date(millisecons); const humanDateformat = dateObj.toLocaleString(); setunixTime(humanDateformat); } }, []);Parece que es posible que desee recuperar la consulta y no actualizar la página. Puede asignar la llamada de búsqueda a una función y llamar a la función al hacer clic. Esto se vería algo como lo siguiente:
import { useEffect, useState } from 'react'; const Page = () => { const nr = '/api/route/path'; const [data, setData] = useState([]); const fetchData = async () => { try { const { data } = await axios.get(`http://localhost:5000//${nr}`); setData(data.data); console.log(data.data); } catch(e) { console.log(e); } } useEffect(() => { fetchData() }, []); //fetch data on page load return <Button disabled={loading} onClick={fetchData}>Refresh</Button>; }