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.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.08
Implementing Specific Part Loaders
Scorri per mostrare il menu
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.
Grazie per i tuoi commenti!