跨多个组件访问 RTK 查询数据和状态



我正在使用RTK查询来获取一些数据。我需要访问应用程序中各个组件的加载状态,但我不确定如何做到这一点

我觉得这可能只是我误解了如何在更大的应用程序中正确使用RTK查询。大多数示例都是单个组件,我不太明白如何从各个组件访问单个查询的各种状态。

例如,我需要在应用程序的主要部分显示一个加载器,其中数据是从查询中生成的。然后,我需要在侧边栏的一个很小的部分显示一个完全不同的加载器,它有一些通过相同的API查询生成的内容详细信息。

如何使用RTK查询
是否存在使用共享此查询状态/状态的多个组件的示例
我是否完全错过了对如何在整个应用程序中使用状态的基本理解?(我觉得这里就是这样哈哈)

如果您在另一个组件中用相同的参数调用相同的useQuery钩子,这两个钩子将共享缓存条目并返回完全相同的数据,这不会触发对服务器的另一个请求。

所以:只要useQuery在你需要的地方:)

您还可以为该";加载";如果你不想在每个组件中使用查询,比如:

const selectIsResourceLoading = (state: RootState) => apiSlice.endpoints.getResource.select()(state).isLoading;

然后,在组件中重用它:

const isResourceLoading = useTypedSelector(selectIsResourceLoading);

相关内容

  • 没有找到相关文章

最新更新