Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

125
Visualizações
La aplicación React no se vuelve a renderizar después de la implementación de desplazamiento infinito

Hola amigos, espero que alguien me pueda ayudar con un problema. Creé una función que recupera las publicaciones de los usuarios desde el backend y las devuelve como respuesta:

 const [posts, setPosts] = useState([]); const newsFeed = async () => { await axios .post(`${process.env.REACT_APP_API}/news-feed`) .then((res) => { setPosts(res.data); }) .catch((err) => { console.log(err); }); };

useEffect llama a esta función y también cada vez que se envía una publicación, le gusta, se comenta, etc., de modo que las publicaciones de los usuarios siempre se vuelven a procesar cada vez que se modifican o agregan.

Funcionaba bien hasta que decidí implementar Infinite Scroll en mi aplicación. Instalé el paquete npm react-infinite-scroll-component y modifiqué mi función para que se vea así:

 const [posts, setPosts] = useState([]); const [page, setPage] = useState(1); const newsFeed = async () => { await axios .post( `${process.env.REACT_APP_API}/news-feed/${page}`) .then((res) => { let newPosts = posts; newPosts = newPosts.concat(res.data); setPosts(newPosts); setPage(page + 1); }) .catch((err) => { console.log(err); }); };

El desplazamiento infinito funciona bien, pero ahora las publicaciones no se vuelven a mostrar cada vez que se llama a esta función y, en cambio, necesito actualizar la página para ver los cambios. Intenté restablecer el estado de la page a 1 nuevamente en mis funciones postSubmit / likeHandler , pero esto no tuvo ningún efecto. No veo ningún error en la consola, así que no estoy seguro de lo que está pasando.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Reemplazar let newPosts = posts; with let newPosts = [...posts]; Pasar la misma referencia de matriz a setState no provocará una actualización, ya que el valor no ha cambiado. Al usar [...posts] , está creando una nueva matriz, lo que hace que el componente se actualice.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda