diff --git a/packages/material-ui/src/utils/useId.js b/packages/material-ui/src/utils/useId.js index 9647fa6a0e9885..edb2650f577df3 100644 --- a/packages/material-ui/src/utils/useId.js +++ b/packages/material-ui/src/utils/useId.js @@ -3,18 +3,15 @@ import * as React from 'react'; /** * Private module reserved for @material-ui/x packages. */ -export default function useId(idProp) { - const [defaultId, setDefaultId] = React.useState(); - const id = idProp || defaultId; +export default function useId(idOverride) { + const [id, setId] = React.useState(idOverride); React.useEffect(() => { - if (defaultId) { - return; + if (idOverride == null) { + // Fallback to this default id when possible. + // Use the random value for client-side rendering only. + // We can't use it server-side. + setId(`mui-${Math.round(Math.random() * 1e5)}`); } - - // Fallback to this default id when possible. - // Use the random value for client-side rendering only. - // We can't use it server-side. - setDefaultId(`mui-${Math.round(Math.random() * 1e5)}`); - }, [defaultId]); + }, [idOverride]); return id; }