Heim > Web-Frontend > js-Tutorial > Fünf Dinge, die ich an Reagieren hasse (und wie ich sie überwinden kann)

Fünf Dinge, die ich an Reagieren hasse (und wie ich sie überwinden kann)

Susan Sarandon
Freigeben: 2024-11-25 01:24:16
Original
700 Leute haben es durchsucht

Five Things I Hate About React (And How to Overcome Them)

React ist zum Grundstein der modernen Webentwicklung geworden. Mit seinem deklarativen Stil und der wiederverwendbaren komponentenbasierten Struktur revolutionierte es die Art und Weise, wie Entwickler über den Aufbau von Schnittstellen denken. Aber kein Werkzeug ist makellos. So sehr ich React auch schätze, es gibt gewisse Frustrationen, denen Entwickler, darunter auch ich, bei der Verwendung oft begegnen.

In diesem Blog werde ich tief in die fünf Dinge eintauchen, die ich an React hasse, erforsche, warum sie problematisch sind, und umsetzbare Lösungen anbieten, um sie anzugehen. Egal, ob Sie ein erfahrener Entwickler sind oder gerade erst anfangen, hier ist für jeden etwas dabei.


1. Steile Lernkurve für Anfänger

React ist stolz darauf, „nur JavaScript“ zu sein, aber für Anfänger ist die Realität komplizierter. Hier ist der Grund:

  • JSX-Syntax: Auf den ersten Blick kann JSX einschüchternd wirken. Das Mischen von HTML-ähnlicher Syntax mit JavaScript kommt vielen neuen Entwicklern unnatürlich vor.
  • Zustand und Requisiten: Die Verwaltung des Datenflusses zwischen übergeordneten und untergeordneten Komponenten erfordert das Verständnis von Konzepten wie Unveränderlichkeit und unidirektionalem Datenfluss.
  • Hooks: Obwohl useState und useEffect bahnbrechend sind, können sie Anfänger überfordern, die sich noch mit den React-Grundlagen auseinandersetzen.

Warum das wichtig ist

React wird oft als anfängerfreundlich vermarktet, aber diese Komplexität kann Neulinge abschrecken. Wenn jemand früh Probleme hat, gibt er vielleicht ganz auf.

Lösungen

  1. Einfach beginnen

    Konzentrieren Sie sich zunächst auf grundlegende Konzepte. Beginnen Sie mit funktionalen Komponenten, Requisiten und einer einfachen Zustandsverwaltung. Vermeiden Sie es, in Hooks, Kontexte oder Bibliotheken wie Redux einzutauchen, bis Sie die Grundlagen beherrschen.

  2. Ressourcen zum Lernen

    • Offizielle React-Dokumente: Die neue Dokumentation von React ist anfängerfreundlich und enthält interaktive Beispiele.
    • Kurse: Plattformen wie Codecademy und Udemy bieten Schritt-für-Schritt-React-Tutorials. Wählen Sie eine, die zu Ihrem Lernstil passt.
  3. Üben Sie den Aufbau kleiner Projekte

    Erstellen Sie Aufgaben-Apps, einfache Blogs oder Wetter-Apps, um sich mit den React-Konzepten vertraut zu machen. Fangen Sie klein an, bevor Sie größere Projekte aufbauen.

  4. Allais UI Generator

    Verwenden Sie den Allais UI Generator, um ein Gerüst für vorgefertigte UI-Komponenten zu erstellen. Dies ist eine großartige Möglichkeit, sich auf die Funktionalität zu konzentrieren, ohne sich Gedanken über Styling oder Struktur machen zu müssen, insbesondere für Anfänger.


2. Boilerplate Everywhere

Eine der größten Stärken von React – seine Flexibilität – kann auch eine Schwäche sein. Das Einrichten eines React-Projekts umfasst häufig sich wiederholende Aufgaben wie das Konfigurieren von Routing, Statusverwaltung und Build-Tools. Selbst mit modernen Tools wie Create-React-App und Vite kann sich die Boilerplate übertrieben anfühlen.

Szenario aus der realen Welt

Stellen Sie sich vor, Sie starten eine neue React-App. Sie müssen wahrscheinlich Folgendes tun:

  • Abhängigkeiten installieren (React-Router-Dom, Redux usw.)
  • Erstellen Sie Ordnerstrukturen für Komponenten, Stile und Assets.
  • Konfigurieren Sie Ihre App für Routing, API-Aufrufe und Statusverwaltung.

Für kleine Projekte fühlt sich dieses Setup wie ein Overkill an. Bei großen Projekten ist es mühsam.

Lösungen

  1. Starter-Kits verwenden

    Nutzen Sie Starterkits, die vorkonfigurierte Setups für Routing, Statusverwaltung und Tests enthalten. Beispiele hierfür sind:

    • CRA (Create React App):Eine klassische Wahl für Anfänger.
    • Next.js:Ideal für produktionsbereite Apps mit integriertem Routing und serverseitigem Rendering.
    • Vite:Leicht und schnell für moderne Entwicklung.
  2. Modularisieren Sie Ihren Code

    Erstellen Sie wiederverwendbare Module für allgemeine Funktionen wie Authentifizierung oder API-Dienste. Dies reduziert Redundanz und beschleunigt die Entwicklung.

  3. Automatisieren Sie mit dem Allais UI Generator

    Der Allais UI Generator minimiert den Boilerplate, indem er vorkonfigurierte Vorlagen anbietet, die mit React, Svelte und Vue.js kompatibel sind. Dieses Tool beschleunigt die Entwicklung, sodass Sie sich auf das Erstellen statt auf das Einrichten konzentrieren können.


3. Leistungsoptimierung kann schwierig sein

Das virtuelle DOM von React ist ein Wunder, aber die Leistungsoptimierung von Apps bleibt eine Herausforderung. Hier sind häufige Probleme, mit denen Entwickler konfrontiert sind:

  • Unnötiges erneutes Rendern:Komponenten werden aufgrund unsachgemäßer Verwendung von Requisiten oder Status unnötigerweise neu gerendert.
  • Große Bundles: Das Einbeziehen zu vieler Abhängigkeiten oder das Versäumnis, den Code aufzuteilen, kann Ihre Bundle-Größe aufblähen.
  • Ineffiziente Zustandsverwaltung: Eine fehlerhafte Zustandsverwaltung (z. B. das Beibehalten von zu viel Zustand in einer Komponente der obersten Ebene) kann die Leistung beeinträchtigen.

Warum das wichtig ist

Langsame Apps führen zu einer schlechten Benutzererfahrung, insbesondere für Benutzer langsamerer Geräte oder Netzwerke. Leistung ist in wettbewerbsintensiven Märkten von entscheidender Bedeutung.

Lösungen

  1. React Profiler

    Verwenden Sie das React Profiler-Tool, um Komponenten zu identifizieren, die unnötige erneute Renderings verursachen.

  2. Auswendiglernen

    Verwenden Sie React.memo für funktionale Komponenten und useMemo- oder useCallback-Hooks, um unnötige Berechnungen zu vermeiden.

const MemoizedComponent = React.memo(MyComponent);

  1. Code-Splitting Verwenden Sie dynamische Importe und Tools wie React.lazy und Suspense, um Ihren Code aufzuteilen und Komponenten nur bei Bedarf zu laden.
const LazyComponent = React.lazy(() => import('./LazyComponent'));

Nach dem Login kopieren
Nach dem Login kopieren
  1. Einführen einer effizienten Staatsverwaltung
    Bibliotheken wie Zustand, Jotai oder React Query sind oft einfacher als Redux und können die Effizienz der Zustandsverwaltung verbessern.

  2. Tools nutzen
    Tools wie der Allais UI Generator helfen Ihnen, optimierte, vorgefertigte UI-Komponenten zu erstellen und so Ihren Arbeitsaufwand zu reduzieren.

    4. Zu viele Möglichkeiten

    Das Ökosystem von React ist riesig. Für jede Herausforderung gibt es eine Fülle von Bibliotheken, die behaupten, sie zu lösen. Diese Vielfalt stärkt zwar, kann aber auch lähmend sein.

Realweltszenario
Stellen Sie sich vor, Sie müssen eine staatliche Verwaltungsbibliothek auswählen. Sollten Sie Redux, MobX, Zustand oder Context API verwenden? Jedes hat seine Vor- und Nachteile, und die Wahl des falschen könnte unnötige Kopfschmerzen verursachen.

Warum das wichtig ist
Stunden damit zu verbringen, Tools zu evaluieren, lenkt von der eigentlichen Arbeit beim Erstellen Ihrer App ab. Schlimmer noch, die falsche Wahl könnte später zu kostspieligen Umgestaltungen führen.

Lösungen

  1. Halten Sie an bewährten Tools fest Erfinden Sie das Rad nicht neu. Nutzen Sie gut dokumentierte Bibliotheken mit aktiven Communities, wie zum Beispiel:
  • Routing: React Router oder Next.js-Routing.
  • Zustandsverwaltung: React Query oder Redux Toolkit.
  • UI-Komponenten: Allais UI Generator für Framework-übergreifende Kompatibilität.
  • Bibliotheken nach Bedarf bewerten
    Fragen Sie sich:

  • Löst diese Bibliothek mein Problem?

  • Wird es aktiv gepflegt?

  • Passt es zur Größe und Komplexität meines Projekts?

  • Dokumentieren Sie Ihren Stack

    Erstellen Sie ein „Technologie-Stack“-Dokument für Ihr Projekt. Dies dient als Referenz für zukünftige Entscheidungen und die Einbindung neuer Entwickler.

    5. Häufige Updates und bahnbrechende Änderungen

    Die rasante Entwicklung von React kann sich wie ein zweischneidiges Schwert anfühlen. Während neue Funktionen wie der gleichzeitige Modus und Serverkomponenten aufregend sind, kann es anstrengend sein, mit Updates Schritt zu halten.

Realweltszenario
Sie haben gerade ein Upgrade auf die neueste Version von React durchgeführt und feststellen, dass die Tests Ihrer App aufgrund von Änderungen in einer beliebten Bibliothek nicht mehr funktionieren.

Warum das wichtig ist
Häufige Aktualisierungen erfordern ständiges Lernen und Pflege. Dies kann besonders für Teams mit engen Fristen oder veralteten Codebasen eine Herausforderung darstellen.
Lösungen

  1. Bleiben Sie nach und nach auf dem Laufenden
  2. Aktualisieren Sie React oder seine Abhängigkeiten nicht, sobald neue Versionen veröffentlicht werden. Warten Sie auf Community-Feedback und aktualisierte Dokumentation.
  3. Verwenden Sie LTS-Versionen
  4. Konzentrieren Sie sich auf LTS-Versionen (Long Term Support) von Abhängigkeiten, um wichtige Änderungen zu minimieren.
  5. Versionshinweise überwachen
  6. Befolgen Sie den React-Blog und die GitHub-Versionshinweise, um Änderungen zu verstehen, bevor Sie Ihre Projekte aktualisieren.
  7. Erstellen Sie eine skalierbare Benutzeroberfläche mit dem Allais UI Generator
  8. Tools wie der Allais UI Generator bieten zukunftssichere Vorlagen, die den neuesten Best Practices in React, Svelte und Vue.js entsprechen.

Auf jeden Fall! Hier ist eine erweiterte Version des Blogbeitrags mit ausführlicher Analyse, Beispielen und zusätzlichen Lösungen für jedes Problem. Diese Version umfasst mehr als 2.500 Wörter und enthält weitere umsetzbare Ratschläge.

Abschlag
Code kopieren

Fünf Dinge, die ich an Reagieren hasse (und wie ich sie überwinden kann)

React ist zum Grundstein der modernen Webentwicklung geworden. Mit seinem deklarativen Stil und der wiederverwendbaren komponentenbasierten Struktur revolutionierte es die Art und Weise, wie Entwickler über den Aufbau von Schnittstellen denken. Aber kein Werkzeug ist makellos. So sehr ich React auch schätze, es gibt gewisse Frustrationen, denen Entwickler, darunter auch ich, bei der Verwendung oft begegnen.

In diesem Blog werde ich tief in die fünf Dinge eintauchen, die ich an React hasse, erforsche, warum sie problematisch sind, und umsetzbare Lösungen anbieten, um sie anzugehen. Egal, ob Sie ein erfahrener Entwickler sind oder gerade erst anfangen, hier ist für jeden etwas dabei.


1. Steile Lernkurve für Anfänger

React ist stolz darauf, „nur JavaScript“ zu sein, aber für Anfänger ist die Realität komplizierter. Hier ist der Grund:

  • JSX-Syntax: Auf den ersten Blick kann JSX einschüchternd wirken. Das Mischen von HTML-ähnlicher Syntax mit JavaScript kommt vielen neuen Entwicklern unnatürlich vor.
  • Zustand und Requisiten: Die Verwaltung des Datenflusses zwischen übergeordneten und untergeordneten Komponenten erfordert das Verständnis von Konzepten wie Unveränderlichkeit und unidirektionalem Datenfluss.
  • Hooks: Obwohl useState und useEffect bahnbrechend sind, können sie Anfänger überfordern, die sich noch mit den React-Grundlagen auseinandersetzen.

Warum das wichtig ist

React wird oft als anfängerfreundlich vermarktet, aber diese Komplexität kann Neulinge abschrecken. Wenn jemand früh Probleme hat, gibt er vielleicht ganz auf.

Lösungen

  1. Einfach beginnen

    Konzentrieren Sie sich zunächst auf grundlegende Konzepte. Beginnen Sie mit funktionalen Komponenten, Requisiten und einer einfachen Zustandsverwaltung. Vermeiden Sie es, in Hooks, Kontexte oder Bibliotheken wie Redux einzutauchen, bis Sie die Grundlagen beherrschen.

  2. Ressourcen zum Lernen

    • Offizielle React-Dokumente: Die neue Dokumentation von React ist anfängerfreundlich und enthält interaktive Beispiele.
    • Kurse: Plattformen wie Codecademy und Udemy bieten Schritt-für-Schritt-React-Tutorials. Wählen Sie eine, die zu Ihrem Lernstil passt.
  3. Üben Sie den Aufbau kleiner Projekte

    Erstellen Sie Aufgaben-Apps, einfache Blogs oder Wetter-Apps, um sich mit den React-Konzepten vertraut zu machen. Fangen Sie klein an, bevor Sie größere Projekte aufbauen.

  4. Allais UI Generator

    Verwenden Sie den Allais UI Generator, um ein Gerüst für vorgefertigte UI-Komponenten zu erstellen. Dies ist eine großartige Möglichkeit, sich auf die Funktionalität zu konzentrieren, ohne sich Gedanken über Styling oder Struktur machen zu müssen, insbesondere für Anfänger.


2. Boilerplate Everywhere

Eine der größten Stärken von React – seine Flexibilität – kann auch eine Schwäche sein. Das Einrichten eines React-Projekts umfasst häufig sich wiederholende Aufgaben wie das Konfigurieren von Routing, Statusverwaltung und Build-Tools. Selbst mit modernen Tools wie Create-React-App und Vite kann sich die Boilerplate übertrieben anfühlen.

Szenario aus der realen Welt

Stellen Sie sich vor, Sie starten eine neue React-App. Sie müssen wahrscheinlich Folgendes tun:

  • Abhängigkeiten installieren (React-Router-Dom, Redux usw.)
  • Erstellen Sie Ordnerstrukturen für Komponenten, Stile und Assets.
  • Konfigurieren Sie Ihre App für Routing, API-Aufrufe und Statusverwaltung.

Für kleine Projekte fühlt sich dieses Setup wie ein Overkill an. Bei großen Projekten ist es mühsam.

Lösungen

  1. Starter-Kits verwenden

    Nutzen Sie Starterkits, die vorkonfigurierte Setups für Routing, Statusverwaltung und Tests enthalten. Beispiele hierfür sind:

    • CRA (Create React App):Eine klassische Wahl für Anfänger.
    • Next.js:Ideal für produktionsbereite Apps mit integriertem Routing und serverseitigem Rendering.
    • Vite:Leicht und schnell für moderne Entwicklung.
  2. Modularisieren Sie Ihren Code

    Erstellen Sie wiederverwendbare Module für allgemeine Funktionen wie Authentifizierung oder API-Dienste. Dies reduziert Redundanz und beschleunigt die Entwicklung.

  3. Automatisieren Sie mit dem Allais UI Generator

    Der Allais UI Generator minimiert den Boilerplate, indem er vorkonfigurierte Vorlagen anbietet, die mit React, Svelte und Vue.js kompatibel sind. Dieses Tool beschleunigt die Entwicklung, sodass Sie sich auf das Erstellen statt auf das Einrichten konzentrieren können.


3. Leistungsoptimierung kann schwierig sein

Das virtuelle DOM von React ist ein Wunder, aber die Leistungsoptimierung von Apps bleibt eine Herausforderung. Hier sind häufige Probleme, mit denen Entwickler konfrontiert sind:

  • Unnötiges erneutes Rendern:Komponenten werden aufgrund unsachgemäßer Verwendung von Requisiten oder Status unnötigerweise neu gerendert.
  • Große Bundles: Das Einbeziehen zu vieler Abhängigkeiten oder das Versäumnis, den Code aufzuteilen, kann Ihre Bundle-Größe aufblähen.
  • Ineffiziente Zustandsverwaltung: Eine fehlerhafte Zustandsverwaltung (z. B. das Beibehalten von zu viel Zustand in einer Komponente der obersten Ebene) kann die Leistung beeinträchtigen.

Warum das wichtig ist

Langsame Apps führen zu einer schlechten Benutzererfahrung, insbesondere für Benutzer langsamerer Geräte oder Netzwerke. Leistung ist in wettbewerbsintensiven Märkten von entscheidender Bedeutung.

Lösungen

  1. React Profiler

    Verwenden Sie das React Profiler-Tool, um Komponenten zu identifizieren, die unnötige erneute Renderings verursachen.

  2. Auswendiglernen

    Verwenden Sie React.memo für funktionale Komponenten und useMemo- oder useCallback-Hooks, um unnötige Berechnungen zu vermeiden.

const LazyComponent = React.lazy(() => import('./LazyComponent'));

Nach dem Login kopieren
Nach dem Login kopieren


Javascript
const MemoizedComponent = React.memo(MyComponent);
Code-Splitting
Verwenden Sie dynamische Importe und Tools wie React.lazy und Suspense, um Ihren Code aufzuteilen und Komponenten nur bei Bedarf zu laden.

Javascript
Code kopieren
const LazyComponent = React.lazy(() => import('./LazyComponent'));
Führen Sie eine effiziente Staatsverwaltung ein
Bibliotheken wie Zustand, Jotai oder React Query sind oft einfacher als Redux und können die Effizienz der Zustandsverwaltung verbessern.

Tools nutzen
Tools wie der Allais UI Generator helfen Ihnen, optimierte, vorgefertigte UI-Komponenten zu erstellen und so Ihren Arbeitsaufwand zu reduzieren.

  1. Zu viele Möglichkeiten Das Ökosystem von React ist riesig. Für jede Herausforderung gibt es eine Fülle von Bibliotheken, die behaupten, sie zu lösen. Diese Vielfalt stärkt zwar, kann aber auch lähmend sein.

Realweltszenario
Stellen Sie sich vor, Sie müssen eine staatliche Verwaltungsbibliothek auswählen. Sollten Sie Redux, MobX, Zustand oder Context API verwenden? Jedes hat seine Vor- und Nachteile, und die Wahl des falschen könnte unnötige Kopfschmerzen verursachen.

Warum das wichtig ist
Stunden damit zu verbringen, Tools zu evaluieren, lenkt von der eigentlichen Arbeit beim Erstellen Ihrer App ab. Schlimmer noch, die falsche Wahl könnte später zu kostspieligen Umgestaltungen führen.

Lösungen
Bleiben Sie bei bewährten Tools
Erfinden Sie das Rad nicht neu. Nutzen Sie gut dokumentierte Bibliotheken mit aktiven Communities, wie zum Beispiel:

Routing: React Router oder Next.js-Routing.
Statusverwaltung: React Query oder Redux Toolkit.
UI-Komponenten: Allais UI Generator für Framework-übergreifende Kompatibilität.
Bewerten Sie Bibliotheken nach Bedarf
Fragen Sie sich:

Löst diese Bibliothek mein Problem?
Wird es aktiv gepflegt?
Passt es zur Größe und Komplexität meines Projekts?
Dokumentieren Sie Ihren Stack
Erstellen Sie ein „Technologie-Stack“-Dokument für Ihr Projekt. Dies dient als Referenz für zukünftige Entscheidungen und die Einbindung neuer Entwickler.

  1. Häufige Updates und wichtige Änderungen Die rasante Entwicklung von React kann sich wie ein zweischneidiges Schwert anfühlen. Während neue Funktionen wie der gleichzeitige Modus und Serverkomponenten aufregend sind, kann es anstrengend sein, mit Updates Schritt zu halten.

Realweltszenario
Sie haben gerade ein Upgrade auf die neueste Version von React durchgeführt und feststellen, dass die Tests Ihrer App aufgrund von Änderungen in einer beliebten Bibliothek nicht mehr funktionieren.

Warum das wichtig ist
Häufige Aktualisierungen erfordern ständiges Lernen und Pflege. Dies kann besonders für Teams mit engen Fristen oder veralteten Codebasen eine Herausforderung darstellen.

Lösungen
Bleiben Sie nach und nach auf dem Laufenden
Aktualisieren Sie React oder seine Abhängigkeiten nicht, sobald neue Versionen veröffentlicht werden. Warten Sie auf Community-Feedback und aktualisierte Dokumentation.

Verwenden Sie LTS-Versionen
Konzentrieren Sie sich auf LTS-Versionen (Long Term Support) von Abhängigkeiten, um wichtige Änderungen zu minimieren.

Versionshinweise überwachen
Befolgen Sie den React-Blog und die GitHub-Versionshinweise, um Änderungen zu verstehen, bevor Sie Ihre Projekte aktualisieren.

Erstellen Sie eine skalierbare Benutzeroberfläche mit dem Allais UI Generator
Tools wie der Allais UI Generator bieten zukunftssichere Vorlagen, die den neuesten Best Practices in React, Svelte und Vue.js entsprechen.

Eine bessere Art zu bauen: Allais UI Generator
Wenn diese React-Frustrationen bei Ihnen Anklang finden, ist es an der Zeit, Ihren Arbeitsablauf zu vereinfachen. Allais UI Generator ist ein Framework-übergreifender UI-Generator, der für React, Svelte und Vue.js entwickelt wurde. Das bietet es:

Vorgefertigte Komponenten: Sparen Sie Stunden, indem Sie vorgefertigte, anpassbare Komponenten verwenden.
Cross-Framework-Unterstützung: Egal, ob Sie in React, Svelte oder Vue arbeiten, Allais ist für Sie da.
Leistungsoptimierter Code: Generieren Sie sauberen, effizienten Code, der den Best Practices entspricht.

Letzte Gedanken

React ist ein leistungsstarkes Tool, aber es ist nicht ohne Herausforderungen. Indem Sie die Einschränkungen erkennen und Tools wie den Allais UI Generator nutzen, können Sie Ihren Arbeitsablauf optimieren und sich auf das Wesentliche konzentrieren: die Entwicklung außergewöhnlicher Anwendungen.

Lassen Sie sich von diesen Frustrationen nicht zurückhalten. Machen Sie sich die Eigenheiten von React zu eigen, finden Sie die richtigen Lösungen und erweitern Sie weiterhin die Grenzen dessen, was Sie schaffen können.

Das obige ist der detaillierte Inhalt vonFünf Dinge, die ich an Reagieren hasse (und wie ich sie überwinden kann). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage