1 | import * as React from 'react';
|
2 | /**
|
3 | * Private module reserved for @material-ui/x packages.
|
4 | */
|
5 |
|
6 | export default function useId(idOverride) {
|
7 | const [defaultId, setDefaultId] = React.useState(idOverride);
|
8 | const id = idOverride || defaultId;
|
9 | React.useEffect(() => {
|
10 | if (defaultId == null) {
|
11 | // Fallback to this default id when possible.
|
12 | // Use the random value for client-side rendering only.
|
13 | // We can't use it server-side.
|
14 | setDefaultId(`mui-${Math.round(Math.random() * 1e5)}`);
|
15 | }
|
16 | }, [defaultId]);
|
17 | return id;
|
18 | } |
\ | No newline at end of file |