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

259
Vistas
setQueryData no actualiza el caché con React-Query

Tengo una aplicación muy básica en la que intento obtener algunos datos y actualizar el caché. Por ejemplo, traté de actualizar los datos a una matriz vacía, pero en las herramientas de desarrollo y los registros de la consola sigo obteniendo los datos antiguos.

 function App() { const queryClient = new QueryClient(); const { isLoading, error, data } = useQuery('repoData', fetcher, { onSuccess: (data) => { queryClient.setQueryData('repoData', () => []); }, }); console.log('data', data); return ( <div className="App"> <Home /> </div> ); }

¿Cuál sería la forma correcta de actualizar el caché?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

¿Por qué querrías actualizar la memoria caché del mismo elemento que acabas de obtener con éxito? React-Query colocará el resultado del fetcher en el campo de datos devuelto por useQuery; no necesita hacer nada en onSuccess para eso

about 4 years ago · Juan Pablo Isaza Denunciar

0

Ese es un ejemplo de la documentación oficial.

 const queryClient = useQueryClient() const mutation = useMutation(editTodo, { onSuccess: data => { queryClient.setQueryData(['todo', { id: 5 }], data) } }) mutation.mutate({ id: 5, name: 'Do the laundry', }) // The query below will be updated with the response from the // successful mutation const { status, data, error } = useQuery(['todo', { id: 5 }], fetchTodoById)

https://react-query.tanstack.com/guides/updates-from-mutation-responses

about 4 years ago · Juan Pablo Isaza Denunciar

0

Los datos resueltos desde su función de fetcher el caché de react-query con la query key elegida.

Estos datos están disponibles cuando se desestructura el useQuery o están disponibles con la devolución de llamada onSuccess .

Puede ser útil actualizar manualmente los datos como se muestra aquí: https://stackoverflow.com/a/68949327/1934484

 // fetcher function function getProducts() { // http call const { data } = await http.get<{ products: ProductT[] }>(/products); return data.products; } // data returned will be an array of products const { data } = useQuery('products', getProducts, { onSuccess: (data) => { // data returned will be an array of products }, });
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