Skip to content

Commit 434778d

Browse files
authored
chore: restrict usages of React.useId (#2473)
1 parent fbeef03 commit 434778d

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

eslint.config.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ export default defineConfig([
3434
selector: "ImportDeclaration[source.value='@testing-library/react']",
3535
message: "Please use wrapper from 'test-utils/utils.tsx'.",
3636
},
37+
{
38+
selector: "MemberExpression[object.name='React'][property.name='useId']",
39+
message: "Please use 'src/hooks/useUniqId' instead.",
40+
},
3741
],
3842
'jsx-a11y/no-autofocus': 'off',
3943
'import/no-extraneous-dependencies': 'off',

src/hooks/useUniqId/useUniqId.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ function useUniqIdFallback() {
1616
}
1717

1818
function useIdNative() {
19+
// eslint-disable-next-line no-restricted-syntax
1920
return `${NAMESPACE}${React.useId()}`;
2021
}
2122

2223
export const useUniqId: () => UseUniqIdResult =
24+
// eslint-disable-next-line no-restricted-syntax
2325
typeof React.useId === 'function' ? useIdNative : useUniqIdFallback;

0 commit comments

Comments
 (0)