使用 ReactQuery 收集数据创建一个简单的项目列表和项目详细信息应用程序

Using ReactQuery gathered data to create a simple Item List and Item Details application

我正在尝试了解 React Query 如何与 GraphQL 一起工作 API 并且目前已经构建了一个小型应用程序来执行此操作。我将解释我目前正在做的事情以及我想要实现的目标。

当前情景:

我想达到的目标:

概念上,我不确定如何实现我想要的结果。

提前致谢

这里唯一 react-query 相关的点是:

No more requests to the API, just use the data I already got

为此,您可以在查询中设置 staleTime: Infinity。它将确保一旦数据被获取,它总是被认为是新鲜的,这意味着没有后台更新。

从那以后,useQuery 会给你一个项目数组。您可以呈现您的列表,当单击一个项目时,您呈现详细信息组件并将该项目传递给它。 NextPrevious 父组件上的按钮控制状态,其中包含要显示的当前选定项。这与 ItemList 数据是客户端状态的方法 100% 相同。


或者,您 可以 在详细信息页面上生成一个单独的 useQuery,它使用列表查询 + select 选项来选择正确的列表中的项目,但这种方法的最大优点是一旦陈旧的查询挂载,您将获得后台重新获取 - 正如您在问题中所述,这是您 想要的。