DEV Community

Cover image for βœ… Next.js Rendering Cheat Sheet
Muhib ur Rahman Bakar
Muhib ur Rahman Bakar

Posted on

βœ… Next.js Rendering Cheat Sheet

πŸ”Ή SSG (Static Site Generation)

Pre-renders the page at build time into static HTML for fast performance.

πŸ”Ή ISR (Incremental Static Regeneration)

Regenerates static pages in the background at a set interval or trigger.

πŸ”Ή SSR (Server-Side Rendering)

Renders the page on every request with fresh, dynamic data on the server.

πŸ”Ή CSR (Client-Side Rendering)

Loads a blank shell and fetches/render content in the browser after load.

πŸ’₯ Rendering Modes Overview

Rendering modes cheat sheet

πŸš€ Quick Setup Guide
βœ… SSG – Default in App Router

// app/page.tsx
export const revalidate = 3600; // Optional: Regenerate every 1 hour

export default async function Page() {
  const res = await fetch('https://api.example.com/posts');
  const posts = await res.json();
  return <div>{posts.length} posts</div>;
}
Enter fullscreen mode Exit fullscreen mode

πŸ” ISR – Add revalidation interval

export const revalidate = 60; // Rebuild page every 60 seconds
Enter fullscreen mode Exit fullscreen mode

πŸ”„ SSR – Always fetch fresh data

export const dynamic = 'force-dynamic'; // or use cache: 'no-store'

const data = await fetch('https://api.example.com/stats', {
  cache: 'no-store'
});
Enter fullscreen mode Exit fullscreen mode

🌐 CSR – Client-only rendering

'use client';

import { useEffect, useState } from 'react';

export default function ClientComponent() {
  const [data, setData] = useState(null);

  useEffect(() => {
    fetch('/api/data').then(res => res.json()).then(setData);
  }, []);

  return <pre>{JSON.stringify(data)}</pre>;
}
Enter fullscreen mode Exit fullscreen mode

🧭 When to Use What
πŸ“ Static content? β†’ SSG
πŸ” Refresh every few minutes? β†’ ISR
πŸ‘€ Authenticated or real-time data? β†’ SSR
🧩 Fully interactive UI? β†’ CSR

πŸ“Œ Final Tips
βœ… SSG is the default in App Router (unless you disable caching)
⚠️ Use 'use client' only when absolutely necessary
πŸ”€ Mix & match strategies: server-rendered pages + client components = ⚑ powerful UX
🎯 Are you using the right rendering strategy in your Next.js apps?

If this helped, feel free to save, share, or comment!

Top comments (1)

Collapse
 
shiva_shanker_k profile image
shiva shanker

Awesome cheat sheet! This covers all the rendering strategies perfectly. The visual comparison table is super helpful yaar! πŸ‘Œ