Skip to content

Commit

Permalink
Merge pull request #3931 from reduxjs/avoid-id-func
Browse files Browse the repository at this point in the history
  • Loading branch information
markerikson committed Dec 1, 2023
2 parents e1d71be + f3736dc commit f0cd85d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 14 deletions.
25 changes: 12 additions & 13 deletions packages/toolkit/src/query/react/buildHooks.ts
Expand Up @@ -541,9 +541,6 @@ export type MutationTrigger<D extends MutationDefinition<any, any, any, any>> =
(arg: QueryArgFrom<D>): MutationActionCreatorResult<D>
}

const defaultQueryStateSelector: QueryStateSelector<any, any> = (x) => x
const defaultMutationStateSelector: MutationStateSelector<any, any> = (x) => x

/**
* Wrapper around `defaultQueryStateSelector` to be used in `useQuery`.
* We want the initial render to already come back with
Expand Down Expand Up @@ -926,7 +923,9 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
const querySelector: Selector<ApiRootState, any, [any]> = useMemo(
() =>
selectFromResult
? createSelector([selectDefaultResult], selectFromResult)
? createSelector([selectDefaultResult], selectFromResult, {
devModeChecks: { identityFunctionCheck: 'never' },
})
: selectDefaultResult,
[selectDefaultResult, selectFromResult]
)
Expand Down Expand Up @@ -989,10 +988,7 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
}

function buildMutationHook(name: string): UseMutation<any> {
return ({
selectFromResult = defaultMutationStateSelector,
fixedCacheKey,
} = {}) => {
return ({ selectFromResult, fixedCacheKey } = {}) => {
const { select, initiate } = api.endpoints[name] as ApiEndpointMutation<
MutationDefinition<any, any, any, any, any>,
Definitions
Expand All @@ -1019,13 +1015,16 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
)

const { requestId } = promise || {}
const selectDefaultResult = useMemo(
() => select({ fixedCacheKey, requestId: promise?.requestId }),
[fixedCacheKey, promise, select]
)
const mutationSelector = useMemo(
() =>
createSelector(
[select({ fixedCacheKey, requestId: promise?.requestId })],
selectFromResult
),
[select, promise, selectFromResult, fixedCacheKey]
selectFromResult
? createSelector([selectDefaultResult], selectFromResult)
: selectDefaultResult,
[selectFromResult, selectDefaultResult]
)

const currentState = useSelector(mutationSelector, shallowEqual)
Expand Down
3 changes: 2 additions & 1 deletion packages/toolkit/tsconfig.base.json
Expand Up @@ -43,7 +43,8 @@
// for type imports in tests only
"@reduxjs/toolkit/dist/query/*": ["src/query/*"], // @remap-prod-remove-line
// internal imports in tests only
"@internal/*": ["src/*"]
"@internal/*": ["src/*"],
"react": ["node_modules/react"]
}
}
}

0 comments on commit f0cd85d

Please sign in to comment.