问题标签 [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.
reactjs - 如何将 RTK 查询放入存储/切片?
我刚开始使用 RTK 查询,但遇到问题
我的应用程序在一个大 JSON 中包含所有设置,因此我创建了一个 RTK 查询来获取设置。在教程中,示例是关于useQuery
在组件中使用钩子并立即显示结果,但是由于设置太大以至于它有多个页面/组件来显示并允许用户更改设置
因为需要更改设置,所以我认为将状态放入商店是一个好主意,我的问题是如何将API结果放入商店?
我可以看到一些方法
在组件中使用
useQuery
,当它产生时,然后进行调度以将数据放入存储中从 API放入
useQuery
所有组件中使用它并使用它来获取缓存数据,然后不需要将它放在存储中并使用组件状态来设置更改(我不确定这种方法,因为有很多设置——即使分页不同,使用组件状态来管理似乎也不对)
我是 RTK 和 RTK 查询的新手,只是想知道最好/好的方法是什么?
reactjs - RTK 查询:访问反应组件之外的缓存数据
我们正在将 RTK 查询集成到我们的应用程序中。
我们目前的“架构”如下:
所有业务逻辑操作都写在纯 JS 类的服务中。
这些服务使用反应上下文传递,以便组件树能够调用服务功能。
到目前为止,这些服务正在直接访问 redux 存储以执行适当的逻辑。
现在我们正在转向 RTK,从服务访问 RTK 缓存就不那么简单了:
据我所知,访问它的唯一方法是通过相关端点的select函数。
关键是这种方法是一个“选择器工厂”,在反应组件之外使用它似乎不是正确的方法。
这是一个例子:
有什么方法可以安全地实现以下代码
我想答案是“不”,我必须重构我们的整个架构,但在这样做之前,我想确定没有替代方法。
请注意,我可以自己构建缓存条目密钥,但这听起来也不是一种强大的方法......
reactjs - 使用 RTK 查询的现代 Redux React,表单未添加到服务器
我正在尝试提交我的个人资料表单并将其添加到我的服务器。我正在使用 RTK Query,并创建了一个 profileSlice.js ...
我还将 addProfile 操作添加到我的商店...
一切似乎都在我的前端工作。我的反应钩子正在拾取文本并设置新状态。但是,当我提交表单时,它并没有将它添加到我的数据库中。
reactjs - Redux Toolkit RTK 在 queryFn 中查询调用端点
我正在使用端点queryFn
而不是query
执行许多请求。有没有办法调用已经定义而不是使用的端点fetchWithBQ
?
这是一个例子。
redux - Redux RTK 查询:getDefaultMiddleware 不是函数
getDefaultMiddleware
来自哪里?我正在阅读文档,它似乎神奇地出现在配置商店中。虽然这很好,但它并没有进入我的商店,而且……因为没有此功能的导入路径,我不知道如何解决这个问题,我可以使用一些指导。
rtk 版本:"@reduxjs/toolkit": "^1.6.1",
tldr;
getDefaultMiddleware()
在我的商店中不存在 + 我还没有在文档中找到任何有用的信息。
这是我得到的错误:
这是我的store.ts
这是我的api.ts
reactjs - 在函数中使用 RTK-Query 钩子的方法?
我已经使用 Axios 成功编写了我的应用程序来获取内容。到目前为止,它已设置为在某些事件发生时获取内容(例如单击提交按钮)。但是,我正在尝试使用Redux 的 RTK-Query解决方案。这个包生成钩子,在它们的示例中,它们提供了简单的组件级示例,这些示例在挂载时调用钩子。
我如何利用这些 rtk-hooks(以及一般的钩子),以便将它们与 、 和条件事件等行为联系onClick
起来onSubmit
?我知道这与钩子规则准则相冲突,但我无法想象 RTK-Query 会受到如此限制,以至于只允许组件级 onMount API 调用。
我正在阅读一些相关文章,同时我试图解决这个问题/等待一个有用的例子:
- https://blog.logrocket.com/react-hooks-frustrations/
- https://redux-toolkit.js.org/rtk-query/usage/usage-without-react-hooks
第二篇文章似乎有些相关,但我觉得它离题太远了,并且质疑它是否值得rtk-query
安装。我不妨只使用axios
它,因为它可以在我的组件和逻辑中的任何地方使用。有人可以教育我如何解决这个问题吗?我是 rtk-query 的新手,它看起来很酷,但它的实现方法似乎也很受限制。
这是我的api.ts
切片示例:
使用 axios 的通用示例:
redux-toolkit - TypeError:inject.endpoints 不是函数
我正在阅读RTK Query 快速入门教程,并在运行时尝试在 javascript 中显示此错误。
相应站点上的示例同时显示了 Typescript 和 Javascript 代码,但沙盒示例在 typescript 中。
src/app/services/pokemon.js
src/app.jsx
src/app/store.js
redux - 如果我使用 Redux Toolkit 和 RTK-Query,需要 thunk 吗?
我正在使用Redux Toolkit (RTK) 和 Redux Toolkit Query (RTK-Query)。
在任何情况下仍然使用 是最佳实践、必要还是建议thunks
,还是应该将所有逻辑移到组件中?(如下handleLogin()
所示)
reactjs - Redux Toolkit RTK 查询 useMutation 并保留缓存数据
根据文档:'Subscribes' the component to keep cached data in the store, and 'unsubscribes' when the component unmounts
。
有没有办法让突变的缓存无处不在而不是“取消订阅”它?我的意思是我可以调用useMutation
不同的组件并获取所有这些组件(如查询)的缓存数据和状态同步。因为现在,一旦组件卸载,我就会丢失数据。
reactjs - RTK查询 | 使另一个 API 服务的 API 服务缓存无效
我创建了多个 RTK 查询 API 服务,拆分为多个文件。对于这个问题,我有两个服务:“合同”和“属性”。合同服务应该能够在合同更新时使属性缓存无效,但即使在向合同服务提供“属性”标签之后 - 缓存也不会无效。
这是我的设置:
特性:
合同:
店铺设置: