Skip to content

Commit 4d44edf

Browse files
authored
fix: avoid ref access in useId (#1078)
Co-authored-by: Henning Muszynski <henningmu@users.noreply.github.com>
1 parent 43eb390 commit 4d44edf

2 files changed

Lines changed: 2 additions & 10 deletions

File tree

.react-compiler.rec.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
},
2020
"src/tooltip/tooltip.tsx": {
2121
"CompileError": 1
22-
},
23-
"src/utils/common-helpers.ts": {
24-
"CompileError": 2
2522
}
2623
}
2724
}

src/utils/common-helpers.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@ export function generateElementId(prefix: string): string {
1414
* @deprecated Use `useId` available from React 18 or above instead.
1515
*/
1616
export function useId(providedId?: string): string {
17-
const ref = React.useRef<string | null>(providedId ?? null)
18-
// eslint-disable-next-line react-hooks/refs
19-
if (!ref.current) {
20-
ref.current = generateElementId('element')
21-
}
22-
// eslint-disable-next-line react-hooks/refs
23-
return ref.current
17+
const [id] = React.useState<string>(() => providedId || generateElementId('element'))
18+
return id
2419
}

0 commit comments

Comments
 (0)