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.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.08
Implementing Specific Part Loaders
Veeg om het menu te tonen
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.
Bedankt voor je feedback!