diff --git a/package.json b/package.json index f5f19b7d9..5cfd78030 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-redux", - "version": "9.1.0", + "version": "9.1.1", "description": "Official React bindings for Redux", "keywords": [ "react", diff --git a/src/utils/useIsomorphicLayoutEffect.native.ts b/src/utils/useIsomorphicLayoutEffect.native.ts deleted file mode 100644 index c3b22c296..000000000 --- a/src/utils/useIsomorphicLayoutEffect.native.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { React } from '../utils/react' - -// Under React Native, we know that we always want to use useLayoutEffect - -export const useIsomorphicLayoutEffect = React.useLayoutEffect diff --git a/src/utils/useIsomorphicLayoutEffect.ts b/src/utils/useIsomorphicLayoutEffect.ts index 329c00e10..7a57bd6fb 100644 --- a/src/utils/useIsomorphicLayoutEffect.ts +++ b/src/utils/useIsomorphicLayoutEffect.ts @@ -16,6 +16,15 @@ export const canUseDOM = !!( typeof window.document.createElement !== 'undefined' ) -export const useIsomorphicLayoutEffect = canUseDOM - ? React.useLayoutEffect - : React.useEffect +// Under React Native, we know that we always want to use useLayoutEffect + +/** + * Checks if the code is running in a React Native environment. + * + * @see {@link https://github.com/facebook/react-native/issues/1331 Reference} + */ +export const isReactNative = + typeof navigator !== 'undefined' && navigator.product === 'ReactNative' + +export const useIsomorphicLayoutEffect = + canUseDOM || isReactNative ? React.useLayoutEffect : React.useEffect