diff --git a/packages/react-google-maps-api/src/LoadScript.tsx b/packages/react-google-maps-api/src/LoadScript.tsx index 4d22894df..1e3b971aa 100644 --- a/packages/react-google-maps-api/src/LoadScript.tsx +++ b/packages/react-google-maps-api/src/LoadScript.tsx @@ -1,10 +1,4 @@ -import { - type JSX, - createRef, - PureComponent, - type ReactNode, - type RefObject, -} from 'react' +import { type JSX, PureComponent, type ReactNode } from 'react' import invariant from 'invariant' import { @@ -44,7 +38,7 @@ export const defaultLoadScriptProps = { class LoadScript extends PureComponent { public static defaultProps = defaultLoadScriptProps - check: RefObject = createRef() + check: HTMLDivElement | null = null override state = { loaded: false, @@ -97,7 +91,7 @@ class LoadScript extends PureComponent { this.cleanup() const timeoutCallback = (): void => { - if (!this.check.current) { + if (!this.check) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore delete window.google @@ -234,10 +228,14 @@ class LoadScript extends PureComponent { }) } + getRef = (el: HTMLDivElement | null): void => { + this.check = el + } + override render(): ReactNode { return ( <> -
+
{this.state.loaded ? this.props.children diff --git a/packages/react-google-maps-api/src/useLoadScript.tsx b/packages/react-google-maps-api/src/useLoadScript.tsx index b85bc9f05..e036d15f2 100644 --- a/packages/react-google-maps-api/src/useLoadScript.tsx +++ b/packages/react-google-maps-api/src/useLoadScript.tsx @@ -118,7 +118,7 @@ export function useLoadScript({ [id, url, nonce] ) - const prevLibraries = useRef() + const prevLibraries = useRef(undefined) useEffect( function checkPerformance() {