TanStackT
TanStack2y ago
7 replies
verbal-lime

Refetch mutation after user action.

Hi !
I have a useMutation to get datas and display it on a Table.
I would like to refetch my datas without havin to refresh de page.

but i don't understand how can i use my queryClient to trigger the refetch.

    const queryClient = useQueryClient()
    const offersMutation = useMutation(
        () => getOffers(),
        {
            onSuccess: (data => {
                console.log("Fetched");
                
                queryClient.setQueryData("getOffersAdmin",data)
                setOffers(data)
            }),
            onError: (error) => {
                console.log(error);
            }
        },
    )


on my table action i tried that:

    const handleDeletePost = (id: string) => {
        const queryKeys = queryClient.getQueryCache().getAll().map(cache => JSON.parse(cache.queryHash))
        console.log(queryKeys);
        queryClient.refetchQueries({ queryKey: ["getOffersAdmin"] })
        
    }


thank you
Was this page helpful?