-
Notifications
You must be signed in to change notification settings - Fork 141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: useId 関数を削除する #4926
chore: useId 関数を削除する #4926
Conversation
commit: |
@@ -119,7 +119,8 @@ export const CheckBox = forwardRef<HTMLInputElement, Props>( | |||
} | |||
}, [checked, mixed]) | |||
|
|||
const checkBoxId = useId(props.id) | |||
const defaultId = useId() | |||
const checkBoxId = props.id || defaultId |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hooks は条件分岐の中に入れることができないので
checkBoxId = props.id || useId()
と書くことはできません。
ので条件の外で一時変数が必要になるんですが、これを考えると独自実装の useId
も便利だったなぁという気はちょっとしました。
import { tv } from 'tailwind-variants' | ||
|
||
import { useId } from '../../hooks/useId' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
独自実装の useId を使用している箇所を、すべて React 組み込みの方を参照するように修正してます。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
関連URL
概要
前回PRでは独自実装の
useId
の部分から、React 17 互換のための機能を廃止し、React 18 未満のサポートを終了した。本PRでは残作業として、
useId
自体を削除し、利用しているコンポーネント側に責務を移動した。変更内容
useId
を削除useId
を使用するように差し替え確認方法
useId を使用しているコンポーネントにて、id が適切に割り振られていることが確認できればOKです。
いくつかのコンポーネントで、デフォ値を指定した場合、しない場合それぞれで id が意図通りに設定されていることは確認しました。(こういうのは単体テストでカバーしたいので整理していきたい)
備考
独自実装の
useId
は内部向けの Hooks で、パッケージ外に公開していない (index から export していない) ため、破壊的変更扱いにはせず、chore
としています。