Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 1.03 KB

focus-an-input-with-useref-hook.md

File metadata and controls

36 lines (30 loc) · 1.03 KB

Focus An Input With useRef Hook

You can send focus to an input by calling focus() on it. To do this in a React context, you need to have a reference to the underlying DOM node. You can get this reference with the useRef hook.

import React, { useRef } from 'react';

const MyComponent = () => {
  const inputRef = useRef(null);

  const focusInput = () => {
    inputRef.current.focus();
  }

  return (
    <div>
      <input
        ref={inputRef}
        type="text"
        value=""
        {...otherProps}
      />
      <button onClick={focusInput}>Edit Input</button>
    </div>
  );
}

When this component mounts, the underlying <input> element will get tied to inputRef. The focusInput handler that I've created can be used to send focus to the corresponding inputRef. To demonstrate, I've passed it to the onClick handler of the button. Clicking the button will focus the input.