Pola Data Fetching yang Rapi di Next.js
Membedakan data statis, server-rendered, client-side, dan revalidated agar halaman tetap cepat.
Ringkasan
Data fetching di Next.js sebaiknya mengikuti karakter datanya. Konten yang jarang berubah bisa dibuat statis. Data yang personal atau sangat dinamis bisa diambil di server atau client sesuai kebutuhan interaksi.
Keputusan ini berdampak langsung pada performance dan kompleksitas aplikasi.
Data Statis
Halaman marketing, dokumentasi, dan blog cocok untuk static generation. HTML bisa dibuat saat build, lalu disajikan cepat dari CDN.
Markdown blog adalah contoh yang sederhana dan efektif.
Data Server-side
Gunakan server-side rendering saat data harus segar pada setiap request atau bergantung pada cookie/session. Pendekatan ini memberi HTML yang siap dibaca browser, tetapi menambah biaya request.
Data Client-side
Client-side fetching cocok untuk interaksi setelah halaman tampil, seperti filter realtime, dashboard personal, atau data yang berubah setelah aksi pengguna.
Pastikan UI punya state loading, empty, error, dan success yang jelas.
Revalidation
Untuk konten yang berubah berkala, revalidation membantu menggabungkan kecepatan static page dengan data yang tetap diperbarui.
Penutup
Tidak ada satu pola fetching untuk semua halaman. Pilih berdasarkan kesegaran data, personalisasi, SEO, dan kebutuhan interaksi.