我有组件A,我在里面调用react query,我有组件B,它更新API的数据。当我从api B更新数据时,它将如何回调api来更新新数据。谢谢我不知道怎么做,请帮帮忙
okxuctiv1#
如果使用react-query中的变体,可以从onSuccess处理程序中调用queryClient.invalidateQueries(),如documentation中所述。它看起来像这样:
onSuccess
queryClient.invalidateQueries()
const mutationFn = () => fetch(...); const ComponentB = () => { const queryClient = useQueryClient() const mutation = useMutation({ mutationFn, onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['query-key'] }) }, }); ... }
如果不使用mutation,基本上是相同的,只是没有onSuccess处理程序。
const doRequest = () => fetch(...); const ComponentB = () => { const queryClient = useQueryClient() const performUpdate = async () => { await doRequest(); queryClient.invalidateQueries({ queryKey: ['query-key'] }); }; ... }
1条答案
按热度按时间okxuctiv1#
如果使用react-query中的变体,可以从
onSuccess
处理程序中调用queryClient.invalidateQueries()
,如documentation中所述。它看起来像这样:
如果不使用mutation,基本上是相同的,只是没有
onSuccess
处理程序。