- Artikel tentang pengalaman dan pelajaran yang didapat penulis saat memindahkan 50.000 baris kode ke React Server Components (RSCs)
- RSCs adalah komponen React yang berjalan di server alih-alih di klien, dan memberikan dua keuntungan utama dibandingkan server-side rendering (SSR)
- Pertama, RSCs memungkinkan pengembang menentukan di mana kode dijalankan, sehingga ukuran bundle dapat dikurangi dan pekerjaan selama hydration berkurang
- Kedua, komponen server dapat mengambil data langsung di dalam komponen dan melakukan streaming ke klien, sehingga pengambilan data di React menjadi lebih mudah dan efisien
- Namun, ada beberapa keterbatasan dalam penggunaan RSCs. CSS-in-JS tidak berfungsi di komponen server, React Context hanya dapat diakses di komponen klien, dan kompleksitas dalam mengelola lokasi eksekusi kode bisa menjadi tantangan
- Penulis mengusulkan pendekatan 3 tahap untuk mengadopsi RSCs secara bertahap:
- Menambahkan direktif "use client" di root aplikasi
- Memindahkan direktif itu ke posisi serendah mungkin dalam pohon rendering
- Mengadopsi pola lanjutan saat masalah performa muncul
- Terlepas dari kompleksitas tambahan tersebut, penulis menyimpulkan bahwa manfaat RSCs, seperti ukuran bundle yang lebih kecil, eksekusi yang lebih cepat, dan pola pemuatan data yang lebih canggih, dapat lebih besar daripada biayanya jika keuntungan performa itu memang bernilai bagi tim
1 komentar
Opini Hacker News
appbarunya, serta menekankan sulitnya memahami di mana pekerjaan berlangsung (di server atau klien) dan masalah dengan library React lama yang mengasumsikan pekerjaan sisi klien.