在反应查询中使用先前查询的值

Using a value from a previous query in react query

我有一个反应查询来获取这样的用户数据

const { data: queryInfo, status: queryInfoLoading } = useQuery('users', () =>
    getUsers()),
  );

然后我有一个兄弟组件需要来自获取用户查询的相同数据。有没有办法在不重新运行查询的情况下获得get users查询的结果?

基本上,我想做这样的事情

const userResults = dataFromUserQuery

const { data: newInfo, status: newInfoLoading } = useQuery('newUserData', () =>
        getNewUsers(userResults.name)),
      )

正如此相关问题 () 中所建议的那样,推荐的方法是编写自定义挂钩并在需要数据的任何地方重复使用它。

默认情况下,react-query 会在新订阅者挂载时触发后台重新获取,以保持缓存中的数据是最新的。您可以在查询中设置 staleTime 以告知图书馆某些数据被视为新鲜的时间。届时,数据将始终来自缓存(如果存在)并且不会触发刷新。