Me gustaría implementar useSWR en mi aplicación web y eliminar axios del proyecto, pero no veo cómo puedo usar SWR varias veces en la misma página. Pensé que podría usar dos ganchos:
const { userData, userError } = useSWR(url, fetcher)
const { coinData, coinError } = useSWR(url,fetcher)
pero eso no funciona. (Supongo que necesitas usar { data, error } )
Este es el código que tengo actualmente, pero me gustaría hacer otra solicitud de obtención a mi base de datos con SWR.
const fetcher = (...args) => fetch(...args).then((res) => res.json()); const { data, error } = useSWR( `https://api.coingecko.com/api/v3/coins/${coinURL}`, fetcher ); if (error) { return <div>failed</div>; } if (!data) { return <div>Loading</div>; } return <div>{data.name}</div>;¿Cuál es la mejor manera de realizar varias solicitudes en la misma página con useSWR?
probar
const { data : userData, error: userError } = useSWR(url, fetcher) const { data : coinData, error: coinError } = useSWR(url,fetcher)El problema es que está reutilizando los mismos nombres de variables constantes. Simplemente puede almacenar el resultado de useSWR en un objeto:
const res1 = useSWR(..); const res2 = useSWR(..); Y luego haga referencia a cada propiedad como normal: res1.loading , etc.