diff --git a/packages/toolkit/src/query/core/buildSlice.ts b/packages/toolkit/src/query/core/buildSlice.ts index 3343b6dc3d..8f495eed22 100644 --- a/packages/toolkit/src/query/core/buildSlice.ts +++ b/packages/toolkit/src/query/core/buildSlice.ts @@ -32,7 +32,7 @@ import type { QueryDefinition, } from '../endpointDefinitions' import type { Patch } from 'immer' -import { applyPatches } from 'immer' +import { applyPatches, original } from 'immer' import { onFocus, onFocusLost, onOffline, onOnline } from './setupListeners' import { isDocumentVisible, @@ -208,7 +208,10 @@ export function buildSlice({ // Assign or safely update the cache data. substate.data = definitions[meta.arg.endpointName].structuralSharing ?? true - ? copyWithStructuralSharing(substate.data, payload) + ? copyWithStructuralSharing( + original(substate.data), + payload + ) : payload }