diff --git a/src/components/connect.tsx b/src/components/connect.tsx index 7ef301529..98c237409 100644 --- a/src/components/connect.tsx +++ b/src/components/connect.tsx @@ -1,8 +1,14 @@ /* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */ import hoistStatics from 'hoist-non-react-statics' -import React, { useContext, useMemo, useRef, useReducer } from 'react' +import React, { + useContext, + useMemo, + useRef, + useReducer, + // @ts-ignore + useSyncExternalStore, +} from 'react' import { isValidElementType, isContextConsumer } from 'react-is' -import { useSyncExternalStore } from 'use-sync-external-store' import type { Store, Dispatch, Action, AnyAction } from 'redux' diff --git a/src/hooks/useSelector.ts b/src/hooks/useSelector.ts index 1c0c9dfde..e3730ca68 100644 --- a/src/hooks/useSelector.ts +++ b/src/hooks/useSelector.ts @@ -1,6 +1,7 @@ import { useContext, useDebugValue } from 'react' -import { useSyncExternalStoreExtra } from 'use-sync-external-store/extra' +// @ts-ignore +import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector' import { useReduxContext as useDefaultReduxContext } from './useReduxContext' import { ReactReduxContext } from '../components/Context' @@ -45,7 +46,7 @@ export function createSelectorHook( const { store } = useReduxContext()! - const selectedState = useSyncExternalStoreExtra( + const selectedState = useSyncExternalStoreWithSelector( store.subscribe, store.getState, // TODO Need a server-side snapshot here