React Fundamentals

0% completed

Previous
Next
Ref vs State

When building React applications, both ref and state are commonly used to manage and store data. However, they serve different purposes and behave differently.

Here's a detailed comparison to help clarify their roles and use cases.

Purpose

State is used to manage dynamic data that affects the component's rendering, while refs are used to hold a mutable value or DOM reference that doesn't trigger re-renders when changed.

Trigger Re-renders

Changing state triggers a re-render of the component, while updating a ref does not trigger a re-render.

Persistence

State resets when the component unmounts and remounts, whereas ref.current persists across the entire component lifecycle, including re-renders.

Usage

State is suitable for managing UI-affecting logic and data, while ref is best suited for storing DOM references, timers, or values that don't need to affect rendering.

Value Access

State values can be accessed and updated directly using setter functions, while in refs, values are accessed via ref.current and updated directly.

Performance

Frequent updates to state may cause performance issues due to re-renders. While updating refs is lightweight and has no impact on rendering performance.

Initialization

State is initialized using useState, while refs are initialized using useRef.

When to use ref and state

ScenarioUse StateUse Ref
Storing values that affect the UI rendering.✅ Yes❌ No
Storing mutable values that don't need rendering.❌ No✅ Yes
Accessing a DOM element directly.❌ No✅ Yes
Triggering side effects when values change.✅ Yes✅ Yes (manually handling changes).
Preventing unnecessary re-renders❌ No (causes re-renders).✅ Yes

.....

.....

.....

Like the course? Get enrolled and start learning!
Previous
Next