Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von ARS realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

React Server Components und Next.js

Lesezeit: 3 Minuten

Server Side Rendering und React Server Components sind bei der Entwicklung von Web-Applikationen mit React im Trend. In diesem Blog betrachten wir was es mit React Server Components auf sich hat und wie diese mit Next.js genutzt werden können. Um React Server Components besser nachvollziehen zu können, lohnt es sich zunächst den Unterschied zwischen Server Side und Client Side Rendering zu analysieren.

Server Side Rendering

Server Side Rendering (abgekürzt SSR) steht dafür, dass zur Laufzeit der Code auf Seiten des Servers direkt zu HTML gerendert wird. In Abgrenzung dazu gibt es Client Side Rendering (abgekürzt CSR). Dort findet das Rendering des angezeigten HTML erst auf Seiten des Browsers (Client) statt. Beide Strategien haben ihre Vor- und Nachteile. Ein großer Vorteil von SSR ist die bessere Sichtbarkeit bei Suchmaschinen. Dies liegt daran, dass beim SSR das initiale Laden der Anwendung schneller ist und die Suchmaschine die Seite besser indexieren und crawlen kann. Die Vorteile vom CSR hingegen sind, dass CSR umfangreiche Interaktionen unterstützt und der User die Seite bei wiederkehrenden Ereignissen schneller laden kann.  

React Server Components

React Server Components (abgekürzt RSC) sind Komponenten die ausschließlich auf dem Server laufen. Es ist damit eine Form des Server Side Renderings. Das heißt der Server gibt das gerenderte HTML direkt zurück. Die Information wie das HTML gerendert wird, kann der Client dabei nicht zurückverfolgen. Eine RSC wird also nur einmal ausgeführt und nicht wie bei Client Komponenten dynamisch zur Laufzeit neu gerendert. Schauen wir uns an wie der Prozess anhand eines Beispiels aussehen würde. Wenn der User unsere Web-Applikation besucht, werden im Hintergrund aus der Datenbank Daten geladen und dem User werden diese angezeigt. Mit React Server Komponenten würde der Prozess vereinfacht wie folgt aussehen:

 


 

  1.     Der Client schickt eine Anfrage an den Server
  2.     Der Server lädt die Daten aus der Datenbank
  3.     Der Server schickt das HTML gerendert mit den Daten aus der Datenbank an den Client zurück
  4.     Der Client zeigt das gelieferte HTML an

Durch die RSCs schickt der Client nur einen Request an den Server. Der Server lädt die Daten selbst, liefert diese aus und muss keinen zusätzlichen Backend Request abschicken. Die JavaScript Logik wird dabei minimal gehalten und die Information, woher die Daten bezogen werden, wird nicht nach außen gegeben.

Grundsätzlich ist für die Verwendung von RSCs kein Framework notwendig, da RSCs ein Feature von React sind. Um RSCs statisch umzusetzen kann beispielsweise ein Node.js Server implementiert werden, der eine gebaute React Server Komponente zu HTML rendert und dem Client auf Anfrage ausliefert.

React Server Komponenten können aber für weitaus mehr genutzt werden als zum Generieren von statischen HTML. Zum Beispiel bietet React die Möglichkeit mit einer Suspense Komponente zu arbeiten. Diese ermöglicht die Implementierung eines Fallbacks der einen bestimmten Seiteninhalt ausliefert und solange angezeigt wird, bis die Server Komponente fertig geladen wurde. Um Suspense ohne Framework zu implementieren, müsste mit HTML Streams gearbeitet werden. Das statische Rendern reicht hierfür nicht mehr aus. Dadurch, dass mit der Implementierung die initiale Logik komplexer wird und viel Boilerplate Code geschrieben werden müsste, empfiehlt es sich dafür Meta Frameworks wie Next.js zu verwenden. 

RSCs und Next.JS

Next.js ist eines der beliebtesten Meta Frameworks, um React Anwendungen mit serverseitigem Rendering umzusetzen. In Next.js wurden RSCs integriert. Außerdem übernimmt es die Implementierung des HTML Streaming für den Entwickler. Darüber hinaus besitzt Next.js weitere nützliche Features. Unter anderem ist es mit diesem möglich, dass Server Komponenten Client Komponenten rendern können. Dadurch ist die Implementierung der RSCs mit Next.js deutlich einfacher umsetzbar.

In Next.js wird der Ansatz verfolgt, dass alle Komponenten standardmäßig erstmal Server Komponenten sind. Es muss also nichts getan werden, außer eine React Komponente zu schreiben, um RSCs zu implementieren. Darüber hinaus hat der Entwickler trotzdem die Möglichkeit clientseitige Logik zu implementieren. Hierfür muss die Komponente mit der Direktiven „use client“ deklarieren werden. Erst dann kann Logik für den Client implementiert werden.

Möchte der Entwickler Daten aus einem Backend laden kann dieser eine Server Komponente als "async" deklarieren und kann dann mit der aus dem JavaScript Umfeld gewohnten async/ await Syntax arbeiten. Ein Beispiel könnte wie folgt aussehen.

 

In diesem Beispiel lädt die Server Komponente zunächst das Heading, welches angezeigt werden soll, aus der Funktion loadHeading. Erst wenn das Heading zur Verfügung steht rendert der Server dieses in den h1-Tag. Sobald dieser Prozess erledigt wurde, wird das HTML gerendert an den Client zurückgeschickt. 

Server Komponenten können Client Komponenten importieren. Umgekehrt geht das nicht. Importiert eine Client Komponente eine Server Komponente macht Next.JS aus ihr ebenfalls eine Client Komponente. Es ist aber möglich eine Server Komponente als ein Prop einer Client Komponente zu übergeben und diese als Child Komponente zu rendern. Im folgenden Beispiel sehen wir eine Grafik, die den Komponenten Aufbau einer Anwendung beschreiben könnte:

 

Hier hat die Komponente B die Direktive "use client". Dadurch werden die importierten Komponenten C und D neben der Komponente B auch zur Client Komponente. Wie wir sehen, bildet sich ein Bereich des Komponenten Baums in dem nur clientseitig gerendert wird. Während der Entwicklung sollte deswegen die Komponentenstruktur danach ausgerichtet werden, welchen Part der Anwendung der Server und welchen der Client rendern soll.

Zusammenfassung

In diesem Blog wurden die Begriffe Server Side Rendering und React Server Components erläutert. RSCs ermöglichen es React Komponenten auf dem Server zu rendern. Des weiteren wurde die Umsetzung von React Server Komponenten in Next.js betrachtet. Dabei wurde festgestellt, dass Next.js serverseitige sowie clientseitige Komponenten standardmäßig unterstützt. Somit vereint es die Vorteile aus beiden Welten. Sobald umfangreiche clientseitige Operationen bei einer Komponente notwendig sind, lohnt es sich, clientseitige Komponenten zu verwenden. Für die Komponenten, die initial nur einmal Daten laden müssen und keine weiteren Client-Interaktionen benötigen, bieten sich Server-Komponenten an. Dadurch kann die initiale Ladegeschwindigkeit der Anwendung und die Sichtbarkeit in Suchmaschinen verbessert werden.

Blogautor

Sebastian von Werder
Softwareentwickler ATVANTAGE GmbH

Mit uns arbeiten

Sie suchen einen Partner, der nicht nur berät, sondern mit Ihnen gemeinsam gestaltet? Ob Strategie, Technologie oder Umsetzung – wir unterstützen Sie entlang der gesamten digitalen Wertschöpfungskette. Lernen Sie unsere Leistungen kennen und finden Sie genau den Einstieg, der zu Ihren Zielen passt.

Bei uns arbeiten

Du willst nicht nur abwarten, was als nächstes passiert, sondern es mitgestalten? Dann bist du bei uns genau richtig. Wir suchen Menschen mit Haltung, Leidenschaft und Lust auf Wirkung – Entwickler:innen, Strateg:innen, Consultants und Kreative, die mit uns digitale Lösungen vorantreiben möchten.

Referenz

Bike Components – Beratung und Prozessanalyse

Optimierung der Prozesse und PIM-Einführung für eine optimale digitale Aufstellung

Produkt

SQL Server

Sammeln, organisieren und stellen Sie Ihre Daten beliebig wieder bereit mit dem SQL Server von Microsoft.

Produkt

BizTalk Server

Microsoft BizTalk Server sorgt für die Vernetzung der verschiedenen Systeme und Prozesse im Unternehmen und ermöglicht dadurch eine nahtlose Integration.

data protection and internet security concept, user typing login and password on computer, secured access
News

Sicherheitslücken auf Exchange Servern

Microsoft hat bekannt gegeben, dass es zu kritischen Sicherheitslücken auf Microsoft Exchange Servern gekommen ist. Was ist jetzt zu tun?

Close up of female hands while typing on laptop
Blog 20.11.18

SharePoint Framework Client-Side Webparts mit React

React ist ein Framework zum Erstellen von Benutzeroberflächen. In der SharePoint Online Entwicklung bietet es sich für die Entwicklung von Client-Side Webparts an.

Mitarbeiter präsentiert seinen Kollegen etwas am Laptop
Workshop

File Server Migration Assessment Workshop

Bringen Sie Ihre Ablagen in Teams, OneDrive und SharePoint mit der Nutzung von Metadaten in einen fachlichen Bezug. In unserem Workshop machen wir Sie fit für Ihre File Server Migration.

data protection and internet security concept, user typing login and password on computer, secured access
News 07.05.24

BSI: Sicherheitswarnung für 17.000 Exchange-Server

Das BSI hat eine neue Warnung für Microsoft Exchange Server veröffentlicht. Tausende Exchange On-Premises Server in Deutschland weisen kritische Schwachstellen auf und sind demnach verwundbar.

Mitarbeiterin der novaCapta am Computer im Büro Hannover
News 22.07.25

SharePoint Server Sicherheitslücke CVE-2025-53770

Zero-Day-Angriffe: Die Schwachstelle erlaubt es Angreifern eine Remote Code Execution (RCE) ohne Authentifizierung durchzuführen. Wer betroffen ist und was jetzt zu tun ist.

Hands, typing and woman in home office with laptop, research or networking for freelance project. Remote work, connectivity and girl at desk writing email, report or online review for business plan
News 26.03.25

EoL Exchange Server 2016 & 2019: Das sind Ihre Optionen

Microsoft hat den End of Support für Exchange Server 2016 & 2019 angekündigt. Wir erklären, was das genau für betroffene Unternehmen bedeutet und zeigen Ihnen, welche Möglichkeiten Sie nun haben.

Blog 18.03.26

MCP Server: Kontrolle für sichere KI-Anwendungen

Ein MCP Server verbindet LLMs sicher mit Unternehmenssystemen. Der Artikel zeigt Architektur, IAM-Integration und warum er für sichere KI-Anwendungen unverzichtbar ist.

Service

Analytics, BI & Planning

Leistungsstarke und flexible Lösungen, damit Sie mit Analytics, BI & Planning bessere Entscheidungen treffen, Kundenbedürfnisse erfüllen & Chancen erkennen

News 21.08.24

TIMETOACT GROUP geht Partnerschaft mit HONICO ein

Die TIMETOACT GROUP hat im Bereich IT Asset Management eine strategische Partnerschaft mit HONICO geschlossen, um ihre Position als führender IT-Dienstleister weiter auszubauen.

Blog 16.09.24

Business Innovation und Digitale Transformation mit AI

Die Implementierung von AI bietet enormes Potenzial für Unternehmen – von Effizienzsteigerungen bis hin zu völlig neuen Geschäftsmodellen. Doch wie jede technologische Revolution birgt sie auch Risiken und Fallstricke. In diesem Blogbeitrag werfen wir einen Blick auf die Potenziale von AI für Unternehmen und auf die häufigsten Fehler, die Sie bei der Einführung vermeiden sollten.

Service

Cloud Transformation

Mit Cloud Transformation Betriebskosten senken, die Effizienz von IT-Services steigern und Innovationen schneller vorantreiben.

News 26.09.24

BE.INSIDE 2024 Ein Tag voller Inspiration am Blackfoot Beach

Erleben Sie die Highlights der BE.INSIDE 2024: Spannende Keynotes, interaktive Roundtables und Networking an einem Ort, der Urlaubsfeeling versprüht. Am 17. September lockte das Event der TIMETOACT GROUP rund 200 Gäste aus verschiedenen Branchen an den Blackfoot Beach in Köln. Erfahren Sie mehr über einen Tag voller Impulse und Austausch.

Kompetenz

Sourcing Strategy, Spend Management & Compliance

Trotz immer leistungsfähigerer IT steigen die IT-Kosten gemessen am Umsatz / an EBITDA stetig an.

Service

API Economy, DevOps, Low Code & MACH

Kundenorientierte Lösungen zu den Themen API Economy, DevOps, Low Code und MACH (Microservices, API-first, Cloud-native und Headless Architecture)

News 04.11.24

EverIT wird Teil von catworkx und TIMETOACT GROUP

Köln/Budapest, 4. November 2024 – catworkx (Teil der TIMETOACT GROUP), führender Anbieter für die Enterprise-Integration auf Basis der Atlassian-Plattform, übernimmt EverIT, einen spezialisierten Atlassian-Partner mit Sitz in Ungarn. Gemeinsam werden die Unternehmen auf ihrer langjährigen Beziehung aufbauen und die führende Marktposition von catworkx in Mittel- und Osteuropa ausbauen sowie das globale Angebot von catworkx stärken. Über die Details der Transaktion haben die Parteien Stillschweigen vereinbart.

Referenz

Turck Holding schafft effizientere IT-Struktur

Mehr Effizienz und Struktur durch eine nachhaltige IT-Strategie: Die Turck Holding GmbH stellt ihre IT-Organisation neu und zukunftssicher auf.

Standort

Leipzig

Finden Sie u.a. die TIMETOACT Software & Consulting GmbH in Leipzig: Augustusplatz 1-4, 04109 Leipzig, Mail: Info@TIMETOACT.DE

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!