Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Handling Loading and Error States | Section
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Building Web Apps with Next.js

bookHandling Loading and Error States

Swipe to show menu

When working with data, there are two important situations you need to handle:

  • The data is still loading;
  • Something goes wrong while loading the data.

Next.js provides built-in support for both cases using special files: loading.tsx and error.tsx.

These files allow you to define what the user sees while data is loading or when an error occurs.

Loading State with loading.tsx

You can create a loading.tsx file inside a route folder:

app/
  products/
    loading.tsx
    page.tsx

Example:

export default function Loading() {
  return <p>Loading...</p>;
}

This component is automatically shown while the page is waiting for data.

Error State with error.tsx

To handle errors, create an error.tsx file:

app/
  products/
    error.tsx
    page.tsx

Example:

"use client";

export default function Error({ error }) {
  return <p>Something went wrong.</p>;
}

This component is displayed if an error happens during rendering or data fetching.

How It Works

Next.js automatically detects these files and uses them when needed. You do not need to manually manage loading or error states for each request.

When data is being fetched, the loading component is shown. If an error occurs, the error component is displayed instead of the page.

Why This Is Useful

Handling these states improves user experience.

Instead of showing a blank page or crashing, your app provides feedback and remains stable.

It also keeps your components cleaner, because you do not need to write loading and error logic manually in every component.

question mark

Which file is used to show a loading state in Next.js App Router?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 25

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Section 1. Chapter 25
some-alt