Styling, Routing, and Special UI APIs
Portals and Suspense
Meet two special React APIs for advanced UI.
8 minutes - Intermediate to advanced
What this means
A portal renders UI somewhere else in the DOM, often for modals or tooltips. Suspense shows fallback UI while some content is waiting, such as lazy-loaded 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
You do not need these on day one, but recognizing them helps when you see real React apps. They solve layout and loading problems that normal component nesting does not always handle well.
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
ReactDOM.createPortal(<Modal />, document.body);
<Suspense fallback={<p>Loading...</p>}>...</Suspense>Common mistake
Do not use portals or Suspense before the problem exists. Start with normal components, then use special APIs when layout or loading needs them.
Practice task
Explain why a modal might use a portal and why a lazy settings panel might use Suspense.
Remember this
Portals solve placement; Suspense solves waiting UI.
try.it
Examples
Try it: Portals and Suspense
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.