reactjs React Query-如何从其他组件调用API

b4lqfgs4  于 2022-12-22  发布在  React
关注(0)|答案(1)|浏览(102)

我有组件A,我在里面调用react query,我有组件B,它更新API的数据。当我从api B更新数据时,它将如何回调api来更新新数据。谢谢
我不知道怎么做,请帮帮忙

okxuctiv

okxuctiv1#

如果使用react-query中的变体,可以从onSuccess处理程序中调用queryClient.invalidateQueries(),如documentation中所述。
它看起来像这样:

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'] });
  };

  ...
}

相关问题