Skip to content

Commit f0cd85d

Browse files
authored
Merge pull request #3931 from reduxjs/avoid-id-func
2 parents e1d71be + f3736dc commit f0cd85d

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

packages/toolkit/src/query/react/buildHooks.ts

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -541,9 +541,6 @@ export type MutationTrigger<D extends MutationDefinition<any, any, any, any>> =
541541
(arg: QueryArgFrom<D>): MutationActionCreatorResult<D>
542542
}
543543

544-
const defaultQueryStateSelector: QueryStateSelector<any, any> = (x) => x
545-
const defaultMutationStateSelector: MutationStateSelector<any, any> = (x) => x
546-
547544
/**
548545
* Wrapper around `defaultQueryStateSelector` to be used in `useQuery`.
549546
* We want the initial render to already come back with
@@ -926,7 +923,9 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
926923
const querySelector: Selector<ApiRootState, any, [any]> = useMemo(
927924
() =>
928925
selectFromResult
929-
? createSelector([selectDefaultResult], selectFromResult)
926+
? createSelector([selectDefaultResult], selectFromResult, {
927+
devModeChecks: { identityFunctionCheck: 'never' },
928+
})
930929
: selectDefaultResult,
931930
[selectDefaultResult, selectFromResult]
932931
)
@@ -989,10 +988,7 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
989988
}
990989

991990
function buildMutationHook(name: string): UseMutation<any> {
992-
return ({
993-
selectFromResult = defaultMutationStateSelector,
994-
fixedCacheKey,
995-
} = {}) => {
991+
return ({ selectFromResult, fixedCacheKey } = {}) => {
996992
const { select, initiate } = api.endpoints[name] as ApiEndpointMutation<
997993
MutationDefinition<any, any, any, any, any>,
998994
Definitions
@@ -1019,13 +1015,16 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
10191015
)
10201016

10211017
const { requestId } = promise || {}
1018+
const selectDefaultResult = useMemo(
1019+
() => select({ fixedCacheKey, requestId: promise?.requestId }),
1020+
[fixedCacheKey, promise, select]
1021+
)
10221022
const mutationSelector = useMemo(
10231023
() =>
1024-
createSelector(
1025-
[select({ fixedCacheKey, requestId: promise?.requestId })],
1026-
selectFromResult
1027-
),
1028-
[select, promise, selectFromResult, fixedCacheKey]
1024+
selectFromResult
1025+
? createSelector([selectDefaultResult], selectFromResult)
1026+
: selectDefaultResult,
1027+
[selectFromResult, selectDefaultResult]
10291028
)
10301029

10311030
const currentState = useSelector(mutationSelector, shallowEqual)

packages/toolkit/tsconfig.base.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343
// for type imports in tests only
4444
"@reduxjs/toolkit/dist/query/*": ["src/query/*"], // @remap-prod-remove-line
4545
// internal imports in tests only
46-
"@internal/*": ["src/*"]
46+
"@internal/*": ["src/*"],
47+
"react": ["node_modules/react"]
4748
}
4849
}
4950
}

0 commit comments

Comments
 (0)