Server Components in der Praxis

Was auf den Server gewandert ist, was im Client blieb – und wie viel JavaScript wir nicht mehr ausliefern.

  • 7 Min. Lesezeit
  • React
Titelgrafik zu „Server Components in der Praxis“

Warum wir umgestiegen sind

Unser Dashboard lieferte 380 kB JavaScript aus, bevor das erste Diagramm erschien. Das meiste davon renderte statische Tabellen, die sich nach dem Laden nie mehr änderten.

Mit Server Components bleiben diese Tabellen auf dem Server, und nur die Teile, mit denen Menschen tatsächlich interagieren, werden hydriert.

Wo die Client-Grenze verläuft

Wir hatten eine einzige Regel: Eine Komponente wird nur dann zur Client-Komponente, wenn sie State, Effekte oder Browser-APIs braucht.

  • Filter und Datumsauswahl: Client
  • Tabellen und Zusammenfassungen: Server
  • Diagramme: serverseitig gerendertes SVG, Client nur für Tooltips
Eine schlanke Client-Insel
"use client";
export function RangePicker({ value, onChange }: Props) {
  return <input type="date" value={value} onChange={(e) => onChange(e.target.value)} />;
}

Unterstützung gesucht?

Lass es uns gemeinsam bauen

Ergebnisse

MesswertVeränderung
Ausgeliefertes JavaScript−64 %
Largest Contentful Paint−1,1 s
Interaction to Next Paint−40 %

Lass uns reden

Erzähl mir von deinem Projekt. Ich antworte in der Regel innerhalb von zwei Werktagen.