Conditional UI and Lists
Empty and loading states
Handle moments when data is not ready.
8 minutes - Beginner to intermediate
What this means
A loading state appears while data is being fetched. An empty state appears when loading is finished but there is nothing to show.
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
Beginners often build only the happy path. Real apps need to explain what is happening when data is missing, slow, or empty.
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
if (isLoading) return <p>Loading lessons...</p>;
if (!lessons.length) return <p>No lessons yet.</p>;Common mistake
Do not show a blank screen while waiting. Blank screens feel broken.
Practice task
Write loading, empty, and ready messages for a list of tasks.
Remember this
Every data screen needs loading, empty, and ready states.
try.it
Examples
Try it: Empty and loading states
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.