diff --git a/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts b/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts index 2cf0d87f9bfa1..a423dfea3a815 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts +++ b/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts @@ -6,4 +6,5 @@ import { GridApiCommunity } from '../../models/api/gridApiCommunity'; * Hook that instantiate a [[GridApiRef]]. */ export const useGridApiRef = (): ApiRef => + // TODO v8: initialize with null (see https://github.com/mui/mui-x/issues/16135#issuecomment-2589395230 and https://github.com/mui/mui-x/issues/16000#issuecomment-2567820735) useRef({} as Api); diff --git a/packages/x-internals/src/apiRef/apiRef.tsx b/packages/x-internals/src/apiRef/apiRef.tsx index 999b1b1db829d..ac53cb7815296 100644 --- a/packages/x-internals/src/apiRef/apiRef.tsx +++ b/packages/x-internals/src/apiRef/apiRef.tsx @@ -1,9 +1,11 @@ import * as React from 'react'; import reactMajor from '../reactMajor'; +// in React 19 useRef requires a parameter, so () => infer R will not match anymore export type ApiRef = typeof React.useRef extends () => infer R ? R extends React.MutableRefObject - ? React.MutableRefObject + ? // In v7 we remove the possibility of undefined for MutableRefObject (see https://github.com/mui/mui-x/issues/16135#issuecomment-2589395230) + React.MutableRefObject : R : React.RefObject;