RTK查询:批量查询链接缓存
RTK Query: Linking cache for batch queries
我有一个名为 getUsers 的 RTK 查询端点,它以数组的形式为多个用户 ID 批量获取用户数据。
现在我担心缓存行为。有没有办法让 RTK 查询只为丢失的用户获取用户数据?
前任
const { data } = useGetUsersQuery([1, 2, 3])
应该获取用户 1、2 和 3
现在,之后
const { data } = useGetUsersQuery([2, 3, 4, 5])
应该将此 api 视为获取用户 4 和 5,与 2 和 3 的现有数据合并。然后 return 整个数据?
简而言之,没有。 RTK 查询不是规范化缓存 - 它是文档缓存 - 这意味着每个 api 响应的处理都与其他每个 api 响应完全无关。
例如在文档中:https://redux-toolkit.js.org/rtk-query/comparison#no-normalized-or-deduplicated-cache
我有一个名为 getUsers 的 RTK 查询端点,它以数组的形式为多个用户 ID 批量获取用户数据。
现在我担心缓存行为。有没有办法让 RTK 查询只为丢失的用户获取用户数据?
前任
const { data } = useGetUsersQuery([1, 2, 3])
应该获取用户 1、2 和 3
现在,之后
const { data } = useGetUsersQuery([2, 3, 4, 5])
应该将此 api 视为获取用户 4 和 5,与 2 和 3 的现有数据合并。然后 return 整个数据?
简而言之,没有。 RTK 查询不是规范化缓存 - 它是文档缓存 - 这意味着每个 api 响应的处理都与其他每个 api 响应完全无关。
例如在文档中:https://redux-toolkit.js.org/rtk-query/comparison#no-normalized-or-deduplicated-cache