如何将 RTK 查询放入存储/切片?
Posted
技术标签:
【中文标题】如何将 RTK 查询放入存储/切片?【英文标题】:How to put RTK query into store/slice? 【发布时间】:2021-10-29 20:34:28 【问题描述】:我刚开始使用 RTK 查询,但遇到问题
我的应用程序在一个大 JSON 中包含所有设置,因此我创建了一个 RTK 查询来获取设置。在教程中,示例是关于在组件中使用useQuery
钩子并立即显示结果,但是由于设置太大以至于它有多个页面/组件来显示并允许用户更改设置
因为设置需要改变,所以我觉得把state放到store里面比较好,我的问题是怎么把API结果放到store里面?
我可以看到一些方法
在组件中使用useQuery
,当它产生结果时,然后进行调度以将数据放入存储中
put useQuery
from API 在所有组件中使用它并使用它来获取缓存数据,然后不需要将它放在存储中并使用组件状态来设置更改(我不确定这种方法因为有很多设置 - 甚至在不同的页面中划分,使用组件状态来管理它似乎并不正确)
我是 RTK 和 RTK 查询的新手,只是想知道最好/好的方法是什么?
【问题讨论】:
【参考方案1】:使用 RTK Query 隐含意味着“将您的数据放入存储中”。它会创建一个存储切片,为您管理所有数据。
您可以在需要该数据的任何地方使用useQuery
,然后将其从商店中取出或在必要时请求新的。
大多数情况下,您不应该将这些数据复制到其他地方,因为您将不得不执行手动清理等操作。
我还可以推荐阅读刚刚添加到官方 Redux 教程中的 RTK-Q 教程章节。他们非常深入。
https://redux.js.org/tutorials/essentials/part-7-rtk-query-basics
【讨论】:
感谢教程链接,我看的是 RTK Query 文档,没有看 Redux 文档,所以我应该在需要的地方使用useQuery
并使用 useState
钩子提供编辑?
我不是 100% 确定您所说的“提供编辑”是什么意思,但如果这是关于组件本地输入字段,是的,这些通常会保持在本地状态。
是的,这就是我的意思,提供设置和使用本地状态似乎是要走的路。谢谢!以上是关于如何将 RTK 查询放入存储/切片?的主要内容,如果未能解决你的问题,请参考以下文章
Spark:数据无法放入内存,我想避免将其写入磁盘,我可以对数据切片执行迭代以仅使用内存吗?