Estoy tratando de recuperar datos específicos, que deberían actualizarse después de una solicitud de publicación en otra API. Vale la pena mencionar que, en base a esa solicitud, dos API deben actualizarse y una de ellas se actualiza, otra no.
He intentado varias formas de recuperar la API en función de una solicitud de publicación exitosa, pero nada parece funcionar.
Intenté agregar también una segunda opción como esta, pero sin éxito.
{ refetchInactive: true, refetchActive: true, }Como se mencionó en esta discusión , tal vez "las claves no coinciden, por lo que está tratando de invalidar algo que no existe en el caché". , pero no estoy seguro de que sea mi caso.
Lo que es más interesante es que al hacer clic en el botón invalidar en las herramientas de desarrollo, la invalidación per se funciona.
Función de mutación:
import { BASE_URL, product1Url, product2Url } from './services/api' import axios from 'axios' import { useMutation, useQueryClient } from 'react-query' export const usePostProduct3 = () => { const queryClient = useQueryClient() const mutation = useMutation( async (data) => { const url = `${BASE_URL}/product3` return axios.post(url, data).then((response) => response) }, { onSuccess: async (data) => { return ( await queryClient.invalidateQueries(['prodKey', product1Url]), //this one doesn't work queryClient.invalidateQueries(['prodKey', product2Url]) //this api refetch/update works ) }, }, ) return mutation }¿Qué estoy haciendo mal?