Mitesh Maity

Full-stack developer from India

Resume
React logo
reactjs.org

Mastering the useRef Hook in React

React's useRef hook is a powerful feature that enables developers to manage mutable values and interact directly with DOM elements—bridging the gap between React’s declarative approach and imperative needs.


Introduction to the useRef Hook

The useRef hook in React returns a mutable ref object whose .current property is initialized to the passed argument. This hook offers a simple way to:

  • Access DOM Elements: Directly reference and manipulate HTML elements.
  • Store Mutable Values: Hold values that persist across renders without triggering a re-render.
  • Optimize Performance: Maintain state-like data without the overhead of state updates.

Key Use Cases

Accessing DOM Nodes

One of the most common uses of useRef is to interact with the DOM. For example, setting focus on an input element can be done as follows:

function TextInputWithFocusButton() {
  const inputRef = useRef(null);

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

  return (
    <>
      <input ref={inputRef} type="text" />
      <button onClick={handleFocus}>Focus the Input</button>
    </>
  );
}