Implementing Specific Part 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.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 2.08
Implementing Specific Part Loaders
Sveip for å vise menyen
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.
Takk for tilbakemeldingene dine!