问题标签 [rtk]
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 - Redux 工具包运行多个查询,即使阻止它
我在一个组件中使用带有多个钩子的 redux 工具包 RTK,但问题是它们一起运行,即使我使用的是skip
在这种情况下我不想要的参数,这是我的代码:
在网络选项卡中,我可以看到两个请求同时运行,我可以阻止例如。useGetTestsByStatusQuery
在有一些数据的情况下获取,useGetTestsQuery
反之亦然?
rtk-query - 在手动读取缓存之前如何保证请求已经发送?
像这个例子:constructing-a-dynamic-base-url-using-redux-state,我需要从缓存中获取某个端点的数据来构建fetch arg,我可以通过 获取数据api.endpoints.getPost.select(postId)(getState())
,但是我如何确保getPost 请求已发送?
reactjs - 将 useQuery 作为参数传递给另一个 Hook 是否正确?
我是 RTK 新手,非常喜欢这个库,但是我有点迷茫,因为它和我传统的开发方式有点不同。
在很多情况下,表、分页和查询的逻辑是重复的。我们可能希望将这些重复的逻辑封装到自定义的 hooks 中快速编写 UI 逻辑,就像useAntdTable一样ahooks
,传入一个查询函数,这个查询函数返回约定格式数据的 promise,然后自动tableProps
为 Antd生成表格组件:
但这不适用于 RTK 查询,因为useQuery
钩子不返回承诺。所以我需要自己封装useMyAntdTable
,但是,是否建议useQuery
作为参数传递给另一个钩子?或者传递trigger
函数useLazyQuery
?我注意到RTKQ没有导出UseQuery
类型,所以我很困惑,是否可以这样写?
或者,我做错了什么,useQuery 可能提供了这样的方法,但是我没有找到?
有没有推荐的方法来封装这种重复的业务逻辑?我应该如何思考和处理(arg) => Promise<Data>
和 trigger之间的区别(arg) => void
?
非常感谢您的回复!
reactjs - 如何在 RTK 查询中将数据保存到 localStorage?
我想创建一个购物车,其中包含用户添加的产品列表并将其保存在 localStorage 中。如果我们有此 RTK 查询代码,是否可以在 createApi() 中定义该购物车?如果没有,我怎样才能在另一个切片中使用它?
如果无法直接将购物车操作添加到 createApi,我如何提取 SingleProduct 并在此切片中使用它?
reactjs - Redux Tookit,如何在非组件函数中调度动作?
我有一个全局吐司,我正在使用 redux slice 打开它。当来自 api 的调用在 rtk-query 的 api-slice 中失败时,我需要打开 toast 以获取错误消息。我已经看到了答案,使用store.dispatch
方法,但这会导致依赖循环。有没有办法做到这一点?
javascript - 我怎样才能比较 useParams() prev 和 current value
我面临一个问题,我正在根据 params?.id 获取不同的 api。我需要使用 rtkQuery 比较 api 调用的 prev 和 current useParams。但它并没有回忆起我关于 useparams 更改的 api。
我想使用类似跳过的东西:如果 prev.params.id !== prams.id。有两种方法可以做到这一点。=>通过设置一个状态来存储useParams的prev值。=>通过使用 rtk 查询提供的 refecthh。
有没有其他正宗的方法来做到这一点。
任何帮助,将不胜感激。