const queryClient = useQueryClient()
const { data } = useQuery({
queryKey: ['stuff'],
queryFn: () => fetchStuff(),
})
const insertMutation = useMutation({
mutationFn: (variables) =>
insertStuff(variables),
onSuccess: async (response) => {
if (response.data) {
await queryClient.cancelQueries({ queryKey: ['stuff'] })
const cacheData = queryClient.getQueryData([
'stuff',
])
if (cacheData) {
queryClient.setQueryData(['stuff'], {
data: {
vehicles: [response.data, ...cacheData.data.stuff],
},
})
}
}
},
})
const queryClient = useQueryClient()
const { data } = useQuery({
queryKey: ['stuff'],
queryFn: () => fetchStuff(),
})
const insertMutation = useMutation({
mutationFn: (variables) =>
insertStuff(variables),
onSuccess: async (response) => {
if (response.data) {
await queryClient.cancelQueries({ queryKey: ['stuff'] })
const cacheData = queryClient.getQueryData([
'stuff',
])
if (cacheData) {
queryClient.setQueryData(['stuff'], {
data: {
vehicles: [response.data, ...cacheData.data.stuff],
},
})
}
}
},
})