Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

128
Vistas
Los datos devueltos por el servidor se representan en la página cuando se actualizan (pero no cuando cambio a su ruta)

PROBLEMA: Los datos devueltos por el servidor solo se representan en la página cuando se actualizan (y no cuando cambio a su ruta)

Entonces, en otras palabras, cuando presiono route /repay , los datos se devuelven desde el servidor pero no se vuelven a representar en la página.

Aquí está mi función que hace lo siguiente:

  • obtiene datos del servidor
  • toma datos y solicita nuevos datos del segundo servidor
  • devuelve datos en la variable tokens
 useEffect(() => { if (userAddress) { (async () => { // fetch data from server const res = await axios.get( `${config.api.invokeUrl}/users/${userAddress}` ); // take data and send to another server const tempTokenMetadata = []; res?.data?.Items?.map(async (loan, index) => { const options = { address: loan?.tokenAddress, token_id: loan?.tokenId, chain: "kovan", }; const tokenIdMetadata = await Moralis.Web3API.token.getTokenIdMetadata(options); tempTokenMetadata.push(tokenIdMetadata); }); setTokens(tempTokenMetadata); })(); } setLoading(false); }, [userAddress]);

Obtengo la dirección de userAddress de mi valor de estado global:

 const [{ userAddress }] = useStateValue();

Así es como estoy representando el código en la página:

 {tokens?.map((token, index) => { return ( <Grid item xs={10} sm={4} md={4} key={index}> <NFT key={index} token={token} /> </Grid> ); })}
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Ha intentado eliminar la dirección de usuario del segundo parámetro userAddress ? como esto

 useEffect(() => { if (userAddress) { (async () => { // fetch data from server const res = await axios.get( `${config.api.invokeUrl}/users/${userAddress}` ); // take data and send to another server const tempTokenMetadata = []; res?.data?.Items?.map(async (loan, index) => { const options = { address: loan?.tokenAddress, token_id: loan?.tokenId, chain: "kovan", }; const tokenIdMetadata = await Moralis.Web3API.token.getTokenIdMetadata(options); tempTokenMetadata.push(tokenIdMetadata); }); setTokens(tempTokenMetadata); })(); } setLoading(false); // ----Look here ⬇⬇⬇⬇---- }, []);

esto hará que useEffect se ejecute solo una vez cuando se represente el componente. y no cuando cambia el valor de userAddress.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda