Course Content
Next.js 14
Next.js 14
Grouping Components for Loaders
What about the Card
components, should we add the laoder for each card or how to handle this component.
When fetching data for individual <Card>
components, a potential issue arises - loading each card separately may cause a popping effect as they load in. This sudden visual change can be jarring for users.
To mitigate this problem, consider the following steps in the page.tsx
file.
Back to the Project
- Delete the
<Card>
components; - Delete the
fetchCardData()
function; - Import a new wrapper component called
<CardWrapper />
; - Import a new skeleton component called
<CardsSkeleton />
; - Wrap
<CardWrapper />
inSuspense
.
- Navigate to
app/ui/dashboard/cards.tsx
; - Import
fetchCardData()
; - Invoke
fetchCardData()
inside the<CardWrapper/>
component; - Uncomment necessary code.
In Practice
Thanks for your feedback!