RTK 查询 - 如果 ID 未定义则删除缓存条目
RTK Query - Delete cache entry if ID is undefined
我有一个通过 ID 获取用户的 RTK 查询 API。此 ID 存储在状态中。
const useUser = () => {
// This can be a string or undefined.
const userID = useTSelector((state) => state.users.userId)
// If the userID above becomes undefined,
// for example if it is set from somewhere else
// then we should clear the result of the below query from the cache.
const {data: user} = useGetUserByIdQuery(userId)
return { user }
}
但是,如果该 ID 未定义,我想从查询中删除缓存的用户。
开箱即用吗?
您可以设置 skip
或使用 skipToken
,这将重置完整挂钩状态并且不会触发查询。
import { skipToken } from '@reduxjs/toolkit/query/react'
useGetUserByIdQuery(userId == undefined ? skipToken : userId)
我有一个通过 ID 获取用户的 RTK 查询 API。此 ID 存储在状态中。
const useUser = () => {
// This can be a string or undefined.
const userID = useTSelector((state) => state.users.userId)
// If the userID above becomes undefined,
// for example if it is set from somewhere else
// then we should clear the result of the below query from the cache.
const {data: user} = useGetUserByIdQuery(userId)
return { user }
}
但是,如果该 ID 未定义,我想从查询中删除缓存的用户。
开箱即用吗?
您可以设置 skip
或使用 skipToken
,这将重置完整挂钩状态并且不会触发查询。
import { skipToken } from '@reduxjs/toolkit/query/react'
useGetUserByIdQuery(userId == undefined ? skipToken : userId)