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

273
Vistas
cómo concat reaccionar-consultar datos anteriores con datos nuevos

Tengo un gancho, si me desplazo hacia abajo, solicitará nuevos datos como un desplazamiento infinito, pero cuando me desplazo hacia abajo, llama a la API para obtener nuevos datos, pero está eliminando los datos anteriores. Quiero concatenar con datos anteriores. Creo que es posible mediante el método de selección de consulta de reacción, pero ¿cómo puedo obtener los datos anteriores?

 const useActivityFeedData = ( activityFeedPageIndex: number, pageSize = Config.defaultPageSize, ) => useQuery( [ACTIVITY_FEED, activityFeedPageIndex], () => Api.user.getActivityFeedData(activityFeedPageIndex, pageSize), { initialData: { activityList: [], }, keepPreviousData: true, select: (res: any) => ({ activityList: res.activityList, }), }, );
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Simplemente cree una matriz en el montaje de un componente como este,

 let [data, setData] = useState([]) useEffect(()=>{ },[])

Ahora obtenga axios en el mismo efecto de uso

 useEffect(()=>{ let data = [] axios.get(`....`).then(res=>{ setData(res.data) }) },[])

Ahora, después de desplazarse cuando obtenga nuevos datos, simplemente conéctelos a la matriz anterior.

 eg: axios.get(`...`).then(res=>{ let var = data.concat(res.data) setData(var) })

Luego, cuando mapea Data, a medida que se actualiza, la página sigue desplazándose.

Espero que esto ayude : )

about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Por qué no algo como:

 const useActivityFeedData = ( activityFeedPageIndex: number, pageSize = Config.defaultPageSize, ) => const prevData = queryClient.getQueryData([ACTIVITY_FEED,activityFeedPageIndex]). useQuery( [ACTIVITY_FEED, activityFeedPageIndex], () => Api.user.getActivityFeedData(activityFeedPageIndex, pageSize), { initialData: { activityList: [], }, keepPreviousData: true, select: (res: any) => ({ activityList: res.activityList, }), }, );

y luego simplemente devuelva el prevData con su respuesta o asigne la respuesta a una variable de useQuery y devuélvala.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Realmente está buscando una consulta infinita : useInfiniteQuery está hecho para este caso de uso exacto.

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