React useRef Hook
🎯 React useRef Hook
The useRef Hook is used to store a mutable value that does NOT cause re-renders when updated.
It can also be used to access DOM elements directly, similar to document.getElementById() in JavaScript.
🧠 What Does useRef Do?
✔ Stores a value
✔ Persists between renders
✔ Does NOT trigger re-render when changed
✔ Can reference DOM elements
📌 Basic Syntax
🧪 Example 1: Access DOM Element
📍 inputRef.current gives access to the HTML <input> element.
🧪 Example 2: Store Values Without Re-render
📌 Updating the ref does not re-render the component.
🧪 Example 3: Saving Previous State
📌 Useful for comparing previous and current state values.
🧪 Example 4: Timer with useRef
✔ Prevents re-render loops
✔ Best for timers and intervals
🧠 When to Use useRef
| Situation | useRef Recommended? |
|---|---|
| Accessing DOM elements | ✅ Yes |
| Storing previous values | ✅ Yes |
| Handling timers or intervals | ✅ Yes |
| Avoiding re-render on data change | ✅ Yes |
| Tracking renders or performance | ✅ Yes |
| Storing component-level mutable data | ✅ Yes |
⚠️ Key Notes
| Behavior | Yes/No |
|---|---|
| Persists between renders | ✔ Yes |
| Causes re-render when changed | ❌ No |
| Can store any value (object, number, function) | ✔ Yes |
| Works with DOM refs | ✔ Yes |
🎉 Summary
useRef used to:
✔ Access DOM elements
✔ Store persistent values
✔ Avoid unnecessary re-renders
✔ Track previous values or timers
