next/dynamic – Încărcarea leneșă a componentelor grele (Lazy Loading) în Next.js

Dezmembrează componentele masive în bucăți separate (code splitting) încărcate în browser doar la cerere.

Sintaxă
import dynamic from 'next/dynamic';

const EditorText = dynamic(() => import('@/components/Editor'), {
  ssr: False,
  loading: () => <p>Se încarcă editorul...</p>
});

Ce face next/dynamic - Încărcarea leneșă a componentelor grele (Lazy Loading)

Librăriile complexe (precum editoare WYSIWYG, hărți interactive Leaflet/Google Maps, grafice Chart.js) au dimensiuni uriașe (sute de KB) și pot depinde de obiecte exclusive de browser (`window`).

Funcția dynamic() separă componenta din pachetul inițial și o descarcă doar atunci când este efectiv randată în ecran.

Opțiunea ssr: False dezactivează randarea pe server pentru componente care nu pot rula în Node.js.

Exemple

Exemplul 1: Încărcarea unei hărți interactive care necesită obiectul window

Ocolește eroarea ‘window is not defined’ la randarea pe server.

import dynamic from 'next/dynamic';

const HartaLocatii = dynamic(
  () => import('@/components/HartaInteractiva'),
  {
    ssr: False,
    loading: () => <div className="h-64 bg-gray-100 animate-pulse">Se încarcă harta...</div>
  }
);

export default function Contact() {
  return <HartaLocatii />;
}

Ieșire în terminal

Harta este descărcată și inițializată doar pe client.

Greșeli frecvente

  • Apelarea `dynamic()` în interiorul funcției de randare a unei componente; dynamic() trebuie definit obligatoriu la nivelul de modul (top-level scope).

Comenzi înrudite

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: next/dynamic – Încărcarea leneșă a componentelor grele (Lazy Loading)

Ai o nelămurire despre utilizarea comenzii next/dynamic – Încărcarea leneșă a componentelor grele (Lazy Loading) sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.