Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Grouping Components for Loaders | Working with Data
Next.js 14

Grouping Components for LoadersGrouping 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 /> in Suspense.
app/dashboard/(overview)/page.tsx
  • Navigate to app/ui/dashboard/cards.tsx;
  • Import fetchCardData();
  • Invoke fetchCardData() inside the <CardWrapper/> component;
  • Uncomment necessary code.
app/ui/dashboard/cards.tsx

In Practice

Everything was clear?

Section 5. Chapter 8
course content

Course Content

Next.js 14

Grouping Components for LoadersGrouping 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 /> in Suspense.
app/dashboard/(overview)/page.tsx
  • Navigate to app/ui/dashboard/cards.tsx;
  • Import fetchCardData();
  • Invoke fetchCardData() inside the <CardWrapper/> component;
  • Uncomment necessary code.
app/ui/dashboard/cards.tsx

In Practice

Everything was clear?

Section 5. Chapter 8
some-alt