React Server Components (RSC) — React 18 bilan taqdim etilgan yangi arxitektura. U komponentlarni server tomonida render qilishga imkon beradi, bu esa JavaScript bundle hajmini kamaytiradi va sahifa yuklash tezligini oshiradi.
RSC nima?
Server Components — bu faqat server tomonida ishlaydigan React komponentlari. Ular brauzерga JavaScript sifatida yetib bormaydi, faqat tayyor HTML ko'rinishida keladi. Bu ayniqsa ma'lumotlar bazasiga murojaat qiluvchi yoki katta kutubxonalar ishlatiladigan komponentlar uchun juda foydali.
Client vs Server Components
Standart React komponentlari ("use client") brauzerda ishlaydi va interaktivlikni ta'minlaydi. Server Components esa server tomonida ishlaydi — ular useState, useEffect kabi hooklarni ishlatol olmaydi, lekin to'g'ridan-to'g'ri ma'lumotlar bazasiga murojaat qila oladi.
Qachon ishlatish kerak?
Statik kontent, ma'lumotlar bazasidan ma'lumot olish, katta kutubxonalar (markdown parser, chart kutubxonalari) uchun Server Components ideal. Forma, modal, animatsiya kabi interaktiv qismlar uchun esa Client Components kerak.
Next.js da RSC
Next.js App Router'da barcha komponentlar default sifatida Server Component hisoblanadi. Interaktivlik kerak bo'lsa, fayl boshiga 'use client' direktiva qo'shiladi. Bu arxitektura loyihaning performance'ini sezilarli yaxshilaydi.