Effects and External Data
What useEffect is for
Run code after rendering when you need to sync with something external.
8 minutes - Intermediate to advanced
What this means
useEffect runs after React renders. It is for synchronizing with external systems like browser APIs, timers, subscriptions, or data fetching in client components.
In beginner terms, this topic answers one practical question: "What should I write, and why does React care about it?" Do not try to memorize the syntax first. First understand the idea, then connect the syntax to that idea.
Why it matters
Effects are powerful, but beginners often use them too early. Many values can be calculated during render without an effect.
When you build real React screens, this idea helps you decide where data should live, what the user should see, and what should happen after an interaction. That is why this lesson is part of the main path instead of being an optional detail.
Step by step
1. Notice the UI problem this topic solves. 2. Look at the smallest possible example. 3. Change one value and predict what should appear. 4. Run the example and compare the result with your prediction. 5. Use the practice task before moving on.
Small example
React.useEffect(() => {
document.title = "Learning React";
}, []);Common mistake
Do not use an effect just to calculate a value from props or state. Calculate that during render instead.
Practice task
Set the document title to include a lesson name.
Remember this
Effects are for syncing with the outside world.
try.it
Examples
Try it: What useEffect is for
Edit this focused React example and run it in the browser preview.
Preview runs React in a sandboxed browser frame, never on the server.
editor
preview
Login to save progress
You can read lessons without an account, but progress requires login.