export const updateStatus = () => { const queryClient = useQueryClient(); return useMutation(({id, statusChange}) => { return axios.patch(`http://localhost:8080/api/user/${id}`, {status: statusChange})}, { onMutate: async (id, statusChange) => { await queryClient.cancelQueries({ queryKey: ["Users", id], }); const previousUser = queryClient.getQueryData([ "Users", id, ]); console.log('prev',previousUser); queryClient.setQueryData(['Users', id], statusChange) return { previousUser, statusChange} }, onError: (err,id, context) => { console.log(context.previousUser); queryClient.setQueryData( ["Users", context.id], context.previousUser ); }, onSettled: (id, error, variables, context) => { queryClient.invalidateQueries({ queryKey: ["Users", context.id], }); }, } ) }