我创建了多个 RTK 查询 API 服务,并分成多个文件。对于这个问题我有两个服务:“合同”和“房产”。当合约更新时,合约服务应该能够使属性缓存失效,但即使在向合约服务提供“属性”标签之后,缓存也不会失效。
这是我的设置:
特性:
export const propertyApi = createApi({
reducerPath: 'propertyApi',
baseQuery: fetchBaseQuery({ baseUrl: `${API_BASE_URL}/properties` }),
tagTypes: ['Properties'],
endpoints: builder => ({
// many endpoints
})
})
export const {
// many hooks
} = propertyApi
Run Code Online (Sandbox Code Playgroud)
合同:
export const contractApi = createApi({
reducerPath: 'contractApi',
baseQuery: fetchBaseQuery({ baseUrl: `${API_BASE_URL}/contracts` }),
tagTypes: ['Contracts', 'Properties'],
endpoints: builder => ({
// ...
modifyContract: builder.mutation<Contract, { contract: Partial<ContractDto>, contractId: Contract['id'], propertyId: Property['id'] }>({
query: ({ contract, contractId }) => {
return { …Run Code Online (Sandbox Code Playgroud)