Back to list
HoangNguyen0403

nextjs-data-fetching

by HoangNguyen0403

A collection of Agent Skills Standard and Best Practice for Programming Languages, Frameworks that help our AI Agent follow best practies on frameworks and programming laguages

111🍴 40📅 Jan 23, 2026

SKILL.md


name: Next.js Data Fetching description: Fetch API, Caching, and Revalidation strategies. metadata: labels: [nextjs, data-fetching, caching] triggers: files: ['/*.tsx', '/service.ts'] keywords: [fetch, revalidate, no-store, force-cache]

Data Fetching (App Router)

Priority: P0 (CRITICAL)

Fetch data directly in Server Components using async/await.

Fetch API Extensions

Next.js extends the native fetch API for granular caching control.

  • Static (Default): fetch('https://api.com') -> cache: 'force-cache'. Built at build time.
  • Dynamic: fetch('...', { cache: 'no-store' }). Fetched on every request.
  • Revalidated (ISR): fetch('...', { next: { revalidate: 60 } }). Cached for 60s.

Patterns

  • Colocation: Fetch data where it's used. Next.js automatically deduplicates requests for the same URL in the same render pass.

  • Parallel: Use Promise.all() to prevent waterfalls.

    const [user, posts] = await Promise.all([getUser(), getPosts()]);
    
  • Blocking: To prevent UI blocking, wrap the component in <Suspense> and stream the result.

Revalidation

  • Path: revalidatePath('/blog/[slug]') - Purges cache for specific route.
  • Tag: revalidateTag('collection') - Purges all fetches tagged with next: { tags: ['collection'] }.

Client-Side Fetching (Live Data)

Server Components are the default, but for live/user-specific data that doesn't need SEO:

  • SWR / TanStack Query: PREFERRED over useEffect. Handles caching, polling, and deduplication automatically.

    'use client';
    import useSWR from 'swr';
    
    // Good: "Stale-While-Revalidate" - Fast UI, then updates
    const { data } = useSWR('/api/user', fetcher);
    
  • Anti-Pattern: Do not use useEffect to fetch data if you can avoid it. It causes "Flash of Loading Content" and waterfalls.

Anti-Patterns

  • API Routes: Don't fetch your own API Routes (/api/...) from Server Components. Call the DB/Service function directly.

Score

Total Score

85/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon