问题标签 [rtk-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2179 浏览

reactjs - 如何将 RTK 查询放入存储/切片?

我刚开始使用 RTK 查询,但遇到问题

我的应用程序在一个大 JSON 中包含所有设置,因此我创建了一个 RTK 查询来获取设置。在教程中,示例是关于useQuery在组件中使用钩子并立即显示结果,但是由于设置太大以至于它有多个页面/组件来显示并允许用户更改设置

因为需要更改设置,所以我认为将状态放入商店是一个好主意,我的问题是如何将API结果放入商店?

我可以看到一些方法

  1. 在组件中使用useQuery,当它产生时,然后进行调度以将数据放入存储中

  2. 从 API放入useQuery所有组件中使用它并使用它来获取缓存数据,然后不需要将它放在存储中并使用组件状态来设置更改(我不确定这种方法,因为有很多设置——即使分页不同,使用组件状态来管理似乎也不对)

我是 RTK 和 RTK 查询的新手,只是想知道最好/好的方法是什么?

0 投票
1 回答
895 浏览

reactjs - RTK 查询:访问反应组件之外的缓存数据

我们正在将 RTK 查询集成到我们的应用程序中。

我们目前的“架构”如下:

所有业务逻辑操作都写在纯 JS 类的服务中。
这些服务使用反应上下文传递,以便组件树能够调用服务功能。

到目前为止,这些服务正在直接访问 redux 存储以执行适当的逻辑。

现在我们正在转向 RTK,从服务访问 RTK 缓存就不那么简单了:
据我所知,访问它的唯一方法是通过相关端点的select函数。

关键是这种方法是一个“选择器工厂”,在反应组件之外使用它似乎不是正确的方法。

这是一个例子:

有什么方法可以安全地实现以下代码

我想答案是“不”,我必须重构我们的整个架构,但在这样做之前,我想确定没有替代方法。

请注意,我可以自己构建缓存条目密钥,但这听起来也不是一种强大的方法......

0 投票
0 回答
117 浏览

reactjs - 使用 RTK 查询的现代 Redux React,表单未添加到服务器

我正在尝试提交我的个人资料表单并将其添加到我的服务器。我正在使用 RTK Query,并创建了一个 profileSlice.js ...

我还将 addProfile 操作添加到我的商店...

一切似乎都在我的前端工作。我的反应钩子正在拾取文本并设置新状态。但是,当我提交表单时,它并没有将它添加到我的数据库中。

0 投票
1 回答
1388 浏览

reactjs - Redux Toolkit RTK 在 queryFn 中查询调用端点

我正在使用端点queryFn而不是query执行许多请求。有没有办法调用已经定义而不是使用的端点fetchWithBQ
这是一个例子。

0 投票
1 回答
357 浏览

redux - Redux RTK 查询:getDefaultMiddleware 不是函数

getDefaultMiddleware来自哪里?我正在阅读文档,它似乎神奇地出现在配置商店中。虽然这很好,但它并没有进入我的商店,而且……因为没有此功能的导入路径,我不知道如何解决这个问题,我可以使用一些指导。

rtk 版本:"@reduxjs/toolkit": "^1.6.1",

tldr;

getDefaultMiddleware()在我的商店中不存在 + 我还没有在文档中找到任何有用的信息。

这是我得到的错误:

在此处输入图像描述

这是我的store.ts

这是我的api.ts

0 投票
2 回答
4411 浏览

reactjs - 在函数中使用 RTK-Query 钩子的方法?

我已经使用 Axios 成功编写了我的应用程序来获取内容。到目前为止,它已设置为在某些事件发生时获取内容(例如单击提交按钮)。但是,我正在尝试使用Redux 的 RTK-Query解决方案。这个包生成钩子,在它们的示例中,它们提供了简单的组件级示例,这些示例在挂载时调用钩子。

我如何利用这些 rtk-hooks(以及一般的钩子),以便将它们与 、 和条件事件等行为联系onClick起来onSubmit我知道这与钩子规则准则相冲突,但我无法想象 RTK-Query 会受到如此限制,以至于只允许组件级 onMount API 调用。

我正在阅读一些相关文章,同时我试图解决这个问题/等待一个有用的例子:

第二篇文章似乎有些相关,但我觉得它离题太远了,并且质疑它是否值得rtk-query安装。我不妨只使用axios它,因为它可以在我的组件和逻辑中的任何地方使用。有人可以教育我如何解决这个问题吗?我是 rtk-query 的新手,它看起来很酷,但它的实现方法似乎也很受限制。

这是我的api.ts切片示例:

使用 axios 的通用示例:

0 投票
1 回答
519 浏览

redux-toolkit - TypeError:inject.endpoints 不是函数

我正在阅读RTK Query 快速入门教程,并在运行时尝试在 javascript 中显示此错误。

在此处输入图像描述

相应站点上的示例同时显示了 Typescript 和 Javascript 代码,但沙盒示例在 typescript 中。

src/app/services/pokemon.js

src/app.jsx

src/app/store.js

0 投票
1 回答
559 浏览

redux - 如果我使用 Redux Toolkit 和 RTK-Query,需要 thunk 吗?

我正在使用Redux Toolkit (RTK) 和 Redux Toolkit Query (RTK-Query)。

在任何情况下仍然使用 是最佳实践、必要还是建议thunks,还是应该将所有逻辑移到组件中?(如下handleLogin()所示)

0 投票
1 回答
1447 浏览

reactjs - Redux Toolkit RTK 查询 useMutation 并保留缓存数据

根据文档:'Subscribes' the component to keep cached data in the store, and 'unsubscribes' when the component unmounts

有没有办法让突变的缓存无处不在而不是“取消订阅”它?我的意思是我可以调用useMutation不同的组件并获取所有这些组件(如查询)的缓存数据和状态同步。因为现在,一旦组件卸载,我就会丢失数据。

0 投票
1 回答
1755 浏览

reactjs - RTK查询 | 使另一个 API 服务的 API 服务缓存无效

我创建了多个 RTK 查询 API 服务,拆分为多个文件。对于这个问题,我有两个服务:“合同”和“属性”。合同服务应该能够在合同更新时使属性缓存无效,但即使在向合同服务提供“属性”标签之后 - 缓存也不会无效。

这是我的设置:

特性:

合同:

店铺设置: