是否有一种方法来做自动重新获取无效的所有缓存状态为活跃订阅者一次?



假设我们要实现useRefresh()的钩子,就像react-admin中的这个钩子一样。它应该使所有查询缓存状态无效,并为订阅者自动重新获取。类似于react-query中的invalidateQueries()。有办法做到这一点与RTK查询?我该怎么做呢?我知道我可以通过dispatch(someApi.util.invalidateTags([...someApiTags]))为每个服务api做到这一点。然后我需要为每个api运行这个导入所有标签。我想知道是否有一种方法可以在全局范围内做到这一点。

引用:https://github.com/marmelab/react-admin/blob/v4.1.1/packages/ra-core/src/dataProvider/useRefresh.ts

  1. https://redux-toolkit.js.org/rtk-query/api/created-api/api-slice-utils invalidatetags

  2. https://react-query.tanstack.com/guides/query-invalidation

根据文档,您的应用程序应该几乎肯定只有一个或两个api,但您的公式"每个单独的服务api";告诉我你不知何故走上了"很多错误"的方向。这几乎肯定不是RTK Query应该使用的方式。

所以我的建议是将你的api合并成一个——你可以使用文档化的代码分割方法将端点保存在单独的文件中。

只有一个api,你只需要调度resetApiState一次。

相关内容

  • 没有找到相关文章

最新更新