use-ref-with-auto-focus.ts 403 B

1234567891011121314151617
  1. import { useRef, useEffect } from 'react'
  2. export function useRefWithAutoFocus<T extends HTMLElement = HTMLElement>() {
  3. const autoFocusedRef = useRef<T>(null)
  4. useEffect(() => {
  5. if (autoFocusedRef.current) {
  6. window.requestAnimationFrame(() => {
  7. if (autoFocusedRef.current) {
  8. autoFocusedRef.current.focus()
  9. }
  10. })
  11. }
  12. }, [])
  13. return { autoFocusedRef }
  14. }