为什么不需要使用 RTK 查询来规范化状态?

Why is there less need to normalize state with RTK Query?

根据 redux docs:“虽然使用 RTK 查询管理缓存数据时在规范化查找 table 中存储响应的需求较少,但如果需要,可以利用 transformResponse 来这样做。 “

  1. 为什么 RTK 查询管理缓存数据“不太需要”?
  2. 使用 RTK 查询规范化状态的权衡是什么?

我们在 RTK 查询文档和“Redux Essentials”教程中更详细地介绍了这两个问题的答案:

此处总结:

规范化数据的主要原因之一是可以轻松地通过 ID 更新特定项目。使用 RTK 查询,您通常不再在状态中“更新项目”。相反,服务器是事实的来源。在这种情况下,您使用 RTK 查询突变向服务器发送更新,使任何相应的查询无效,并使来自服务器的该数据的 re-fetch all 无效。所以,不同的用例,不同的使用模式。