useIsFocused
特定の要素が DOM フォーカスを持っているかを真偽値でリアクティブに購読するフックです。
壁紙ウィンドウは OS の key window にならないため、WebKit は通常の :focus / :focus-visible スタイルを描画しません。壁紙でフォーカスリングを出すには、フォーカス状態を React の state にミラーしてクラス/スタイルを手動で切り替える必要があります。useIsFocused はそのパターンをカプセル化したものです。
インポート
シグネチャ
引数
戻り値
参照している要素が DOM フォーカスを持っている間は true、それ以外は false。マウント時に既にフォーカスが当たっているケースに対応するため、初期値は document.activeElement から計算されます。
使い方
備考
- 対象要素の
focus/blurを直接購読するため、子孫要素のフォーカス遷移までは拾いません。document 全体を見たい場合はuseActiveElementと組み合わせてください。 - 壁紙では OS がフォーカスリングを描画しないため、壁紙内入力欄の視覚的フォーカス表現にはこのフックの利用を推奨します。