The useRef Hook lets you store a mutable value that persists across component renders. It is commonly used to access DOM elements or keep values without causing re-renders.
Returns an object with a .current property to hold any value
Updating .current does not trigger a re-render
Useful for DOM access, timers, and storing previous values
Syntax:
const refContainer = useRef(initialValue);
useRef returns an object { current: initialValue }.
The current property can be updated without re-rendering the component.
Implementing the useRef hook
The useRef hook is used to access DOM elements and persist values across renders without triggering re-renders.
1. Accessing the DOM using useRef hook
A ref created with useRef is attached to the textarea, allowing the click handler to access the DOM element and programmatically set focus.
useRef creates a reference focusPoint, which allows direct manipulation of the DOM element.
Clicking the "ACTION" button triggers onClickHandler, which sets text in the textarea and focuses it.
<Fragment> (<>...</>) is used to group multiple elements without adding extra wrappers in the DOM.
2. Persisting Values Across Renders
In addition to accessing DOM elements, useRef is useful for storing values that persist across renders. A common use case is storing a previous value, such as the previous state or props.