diff --git a/packages/toolkit/src/createReducer.ts b/packages/toolkit/src/createReducer.ts index b747cdc6d..845c72834 100644 --- a/packages/toolkit/src/createReducer.ts +++ b/packages/toolkit/src/createReducer.ts @@ -249,7 +249,7 @@ export function createReducer>( const draft = previousState as Draft // We can assume this is already a draft const result = caseReducer(draft, action) - if (typeof result === 'undefined') { + if (result === undefined) { return previousState } @@ -259,7 +259,7 @@ export function createReducer>( // return the caseReducer func and not wrap it with produce. const result = caseReducer(previousState as any, action) - if (typeof result === 'undefined') { + if (result === undefined) { if (previousState === null) { return previousState } diff --git a/packages/toolkit/src/immutableStateInvariantMiddleware.ts b/packages/toolkit/src/immutableStateInvariantMiddleware.ts index 487acc488..754edcb16 100644 --- a/packages/toolkit/src/immutableStateInvariantMiddleware.ts +++ b/packages/toolkit/src/immutableStateInvariantMiddleware.ts @@ -67,12 +67,7 @@ function getSerialize( * @public */ export function isImmutableDefault(value: unknown): boolean { - return ( - typeof value !== 'object' || - value === null || - typeof value === 'undefined' || - Object.isFrozen(value) - ) + return typeof value !== 'object' || value == null || Object.isFrozen(value) } export function trackForMutations( diff --git a/packages/toolkit/src/query/fetchBaseQuery.ts b/packages/toolkit/src/query/fetchBaseQuery.ts index bd606b7cf..643633ff8 100644 --- a/packages/toolkit/src/query/fetchBaseQuery.ts +++ b/packages/toolkit/src/query/fetchBaseQuery.ts @@ -104,7 +104,7 @@ function stripUndefined(obj: any) { } const copy: Record = { ...obj } for (const [k, v] of Object.entries(copy)) { - if (typeof v === 'undefined') delete copy[k] + if (v === undefined) delete copy[k] } return copy } diff --git a/packages/toolkit/src/query/react/buildHooks.ts b/packages/toolkit/src/query/react/buildHooks.ts index a5384380e..cb9f8b0aa 100644 --- a/packages/toolkit/src/query/react/buildHooks.ts +++ b/packages/toolkit/src/query/react/buildHooks.ts @@ -55,8 +55,8 @@ import { useShallowStableValue } from './useShallowStableValue' // Copy-pasted from React-Redux export const useIsomorphicLayoutEffect = typeof window !== 'undefined' && - typeof window.document !== 'undefined' && - typeof window.document.createElement !== 'undefined' + window.document && + window.document.createElement ? useLayoutEffect : useEffect diff --git a/packages/toolkit/src/serializableStateInvariantMiddleware.ts b/packages/toolkit/src/serializableStateInvariantMiddleware.ts index 39cf89815..e0694106a 100644 --- a/packages/toolkit/src/serializableStateInvariantMiddleware.ts +++ b/packages/toolkit/src/serializableStateInvariantMiddleware.ts @@ -14,8 +14,7 @@ import { getTimeMeasureUtils } from './utils' export function isPlain(val: any) { const type = typeof val return ( - type === 'undefined' || - val === null || + val == null || type === 'string' || type === 'boolean' || type === 'number' ||