Lewati ke konten utama
menjadi.dev
Performance

Lazy Loading

Menunda load resource (gambar, component, data) sampai benar-benar dibutuhkan.

Lazy Loading adalah teknik menunda pembebanan resource sampai resource tersebut benar-benar dibutuhkan — biasanya saat masuk viewport atau saat user melakukan action tertentu. Tanpa lazy loading, semua gambar di halaman di-download sekalipun user tidak scroll ke bawah. Dengan lazy loading: gambar di-download saat hampir masuk viewport. Implementasi: Images (loading=“lazy” attribute native di browser, atau Intersection Observer API untuk kontrol lebih), Components (React.lazy() + Suspense, dynamic import()), Routes (split per route), dan Data (infinite scroll, pagination). Lazy loading mengurangi initial page load time, menghemat bandwidth user (terutama mobile), dan mengurangi beban server.

Contoh Kode

// Lazy loading gambar (native)
<img src="image.jpg" loading="lazy" alt="Description" />

// Lazy loading component (React)
const HeavyMap = lazy(() => import('./HeavyMap'));

// Intersection Observer
const observer = new IntersectionObserver((entries) => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      loadMoreData();
    }
  });
});
observer.observe(document.querySelector('.load-trigger'));

Istilah Terkait