0

在我的根组件上,我使用了使用查询来获取用户详细信息。但问题是在我注册或登录之前,它重新访问了太多次。结果我什至无法顺利填写注册/登录表格。

在此处输入图像描述

有什么办法,只有在回调函数没有返回错误的情况下才会重新获取?

这就是我尝试过的

const FetchCurrentUser = async () => {
  setAuthToken(localStorage.token);
  const {
    data: { user },
  } = await axios.get(`${process.env.API_URL}/api/users/auth`);

  return user;
};

const RouterController = () => {
  const { data: updatedUser, isLoading, error: fetchError } = useQuery(
    "user",
    FetchCurrentUser,
   
  );
}
4

1 回答 1

1

我不确定我是否正确理解了这个问题。我假设您正在尝试获取用户数据,但如果失败,您不想重试,对吗?

React Query 有一些默认值,可能对新用户来说很棘手。从文档:

失败的查询会静默重试 3 次,在捕获错误并向 UI 显示错误之前会出现指数退避延迟。

有关模式详细信息,请检查重要默认值

您还可以通过在useQueryenabled挂钩上将config 属性设置为 false 来停用自动请求,并使用该函数手动触发请求。refetch

于 2020-11-08T21:50:06.757 回答