>  기사  >  웹 프론트엔드  >  PreReact에서 React 및 Next.js까지 웹 렌더링 및 성능 최적화를 통한 여정

PreReact에서 React 및 Next.js까지 웹 렌더링 및 성능 최적화를 통한 여정

Patricia Arquette
Patricia Arquette원래의
2024-10-04 06:18:291008검색

In diesem Artikel untersuchen wir den Ursprung von React, welche Probleme es löst und

warum Next.js erstellt wurde. Obwohl allgemein bekannt ist, dass Next.js SSR (serverseitiges Rendering) bietet, werden wir tiefer darauf eingehen, was SSR wirklich ist und warum es möglicherweise besser ist als CSR (clientseitiges Rendering). Seitenrendering) in bestimmten Fällen.

Eine kurze Geschichte: Vor React.js

Bevor React.js das Konzept von CSR (clientseitiges Rendering) populär machte, folgten die meisten Anwendungen dem traditionellen MPA-Modell (Multi-Page Application). In MPAs kümmerte sich der Server um die Darstellung von HTML, ein Prozess, der, wie wir sehen werden, sowohl Vor- als auch Nachteile hatte.

From PreReact to React and Next.js A Journey Through Web Rendering and Performance Optimization

Wie wir sehen können, war das Rendern der Seite einfach. Sie senden eine Anfrage an den Server, es dauert einige Zeit, den erforderlichen HTML-Code einzurichten, sendet ihn zurück und juhu, die Seite wird geladen.

Also, was ist das Problem? Zum jetzigen Zeitpunkt gibt es noch keinen. Tatsächlich kann dieser Ansatz effizienter erscheinen als die Art und Weise, wie React.js das Laden von Seiten handhabt – zumindest zunächst. Das Problem tritt jedoch auf, wenn Benutzer beginnen, mit der Seite zu interagieren. Lassen Sie uns ein hypothetisches Szenario durchgehen:

  • Sie betreten eine Seite.
  • Sie melden sich an (Client -> Server (zur Authentifizierung) -> DB (auf Benutzer prüfen)) und zurück. Kein Problem hier.
  • Sie navigieren beispielsweise zur Beitragsseite (Client -> Server -> DB (Beiträge abrufen)) und zurück mit den Beitragsdaten. Kein Problem hier.
  • Neuen Beitrag erstellen (Client -> Server (mit neuem Beitrag) -> DB (Neuen Beitrag hinzufügen)) und zurück mit einem völlig neuem HTML. Hier entsteht das Problem. Wenn Sie einen neuen Beitrag hinzufügen oder Änderungen an der Seite vornehmen, muss der Server den gesamten HTML-Code von Grund auf neu rendern. Dies führt zu einem Neu-Rendering der gesamten Seite, was ineffizient sein kann. Dieses vollständige Neu-Rendering erfolgt jedes Mal, wenn Sie etwas auf der Seite aktualisieren oder ändern.

Das war es, was React zu beheben versuchte

From PreReact to React and Next.js A Journey Through Web Rendering and Performance Optimization

Geben Sie nun React.js ein

Wie hat React das Problem behoben?

React führte das revolutionäre Konzept des Client-Side-Rendering (CSR) ein. Anstatt den HTML-Code auf dem Server zu rendern, rendert CSR ihn im Browser des Clients.
Aber wie funktioniert das?Angesichts der Tatsache, dass der Server beim ersten Laden der Seite noch HTML bereitstellen muss?

Das passiert: Der Server sendet ein ursprüngliches HTML-Gerüst, das jedoch nicht den eigentlichen Inhalt enthält. Stattdessen enthält es ein