RTK 查询是否应该仅用于获取不需要缓存的数据?



在很长一段时间没有接触React之后,我现在又开始使用它了,我正在查看我以前使用过的redux工具包,我看到了RTK查询。

我正在努力理解它,我想我已经理解了,但有一件事我不确定是我错过了,还是它只是为了这样工作。

我们是否只使用RTKQ来获取根本不需要缓存的数据?例如,加载用户点击的特定帖子?我之所以这么问,是因为在我看过或读过的任何教程中,我都没有看到与其他切片的任何交互。

例如,如果我需要获得一些需要保留的信息(否则我只会继续获取它(,那么我将使用常规的createAsyncThunk

情况完全相反。

RTK查询仅用于缓存提取的数据

从服务器获取数据并将其放入Redux存储区一直是很常见的,但这需要做很多工作。您必须编写发出请求的thunk,根据结果调度操作,以及编写管理加载状态和保存缓存数据的reducer。然后,您必须编写useEffect挂钩来从组件和从存储读取数据的选择器中调度这些thunk。

RTK查询自动为您完成所有工作然后它在这些基础上进行了改进,在参数更改时获取新数据,在向服务器发送更新时自动重新生成查询数据,管理缓存寿命,在组件不再需要时删除旧数据,流式更新等等。

我建议浏览官方";Redux Essentials";我们文档中的教程,以及RTKQ使用指南:

  • https://redux.js.org/tutorials/essentials/part-7-rtk-query-basics
  • https://redux.js.org/tutorials/essentials/part-8-rtk-query-advanced
  • https://redux-toolkit.js.org/rtk-query/usage/queries

最新更新