Ce face React Server Components (RSC) - Execuție exclusivă pe server cu zero bundle
În Next.js App Router, fiecare componentă este implicit un Server Component dacă nu conține directiva `’use client’`.
Avantaje majore: zero impact asupra dimensiunii JavaScript descărcată de utilizator (librării masive de formatare precum `moment` sau `marked` rămân 100% pe server), acces direct securizat la baze de date și chei secrete, și randare mult mai rapidă pe dispozitive mobile slabe.
Restricții: nu pot folosi hook-uri interactive de stare (`useState`, `useEffect`) sau evenimente de mouse/tastatură (`onClick`, `onChange`).
Exemple
Exemplul 1: Server Component cu interogare directă a bazei de date
Execută query-ul pe server fără a trimite driverul SQL către browser.
import prisma from '@/lib/db';
export default async function ProfilPage() {
const utilizator = await prisma.user.findFirst({
where: { email: 'admin@dexblog.ro' }
});
return (
<div>
<h1>Profil: {utilizator?.name}</h1>
<p>Rol: {utilizator?.role}</p>
</div>
);
}
Ieșire în terminal
Browserul primește doar HTML curat fără niciun octet de cod Prisma sau SQL.
Greșeli frecvente
- Încercarea de a atașa evenimente ‘onClick’ într-un Server Component; compilatorul va genera eroare și îți va cere să marchezi componenta cu ‘use client’.
Comenzi înrudite
Directiva 'use client' - Trecerea la componente interactive de client: Marchează granița dintre codul executat exclusiv pe server și componentele interactive descărcate și hidrate în browser.Directiva 'use server' - Definirea acțiunilor de server (Server Actions): Permite rularea funcțiilor asincrone direct pe server, apelabile transparent din formulare HTML sau din butoane client fără a scrie manual API Routes.app/page.tsx - Definirea conținutului specific al unei rute: Fișierul special care face ca un segment de rută să fie accesibil public printr-un URL în browser.
Întrebări & Exemple de Cod:
React Server Components (RSC) – Execuție exclusivă pe server cu zero bundleAi o nelămurire despre utilizarea comenzii
React Server Components (RSC) – Execuție exclusivă pe server cu zero bundlesau 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.