Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Specific Parts Loaders | Working with Data
Next.js 14
course content

Course Content

Next.js 14

Next.js 14

1. Introduction
2. Basic Concepts
3. Pages and Layouts
4. Deployment and Database
5. Working with Data
6. Advanced Features
7. Authentication

bookSpecific Parts Loaders

Until now, we have been streaming entire pages. However, we can be more detailed by using React Suspense to stream specific components.

Suspense lets us delay showing parts of your app until a specific condition is met, like when data is loaded. Just wrap the dynamic components in Suspense and provide a temporary component to display while the dynamic part loads. To make this happen, move the data fetching into the component.

Back to the Project

Delete fetchIncome() and its data from app/dashboard/(overview)/page.tsx:

Import <Suspense> from React and wrap the <IncomeChart/> with it. We can pass a fallback component called <IncomeChartSkeleton>.

Finally, we should update the <IncomeChart> component to fetch its own data and remove the prop passed to it:

Now, refresh the live page; you should notice a skeleton loader on the chart place while data is loading.

In Practice

Important: We don't need to move the layout.tsx file to the (overview) folder as shown in the video.

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 6
We're sorry to hear that something went wrong. What happened?
some-alt