Verkauf durch Sack Fachmedien

Springer

React

Das umfassende Handbuch für moderne Frontend-Entwicklung. Mit vielen Praxisbeispielen - Neue Ausgabe 2023

Medium: Buch
ISBN: 978-3-8362-9254-2
Verlag: Rheinwerk Verlag GmbH
Erscheinungstermin: 05.04.2023
sofort versandfertig, Lieferfrist: 1-3 Werktage

Moderne Frontend-Entwicklung mit React: Alles, was Sie über React wissen müssen!

Welcher Frontendentwickler hat noch nicht von React gehört? Diese ursprünglich von Facebook entwickelte JavaScript-Bibliothek hat innerhalb kurzer Zeit eine steile Karriere hingelegt. Sie bildet mittlerweile eine wichtige Grundlage für viele Unternehmensanwendungen, Single Page-Applikationen, sowie viele Apps für iPhone und Android.

Erfahren Sie in diesem umfassenden Handbuch des JavaScipt-Experten Sebastian Springer , wie Sie performante Oberflächen gestalten. Mit einfachen und leicht verständlichen Beispielen erlernen Sie die Grundlagen von React, React Native und Redux . Und auch als fortgeschrittener JavaScript-Entwickler profitieren Sie von den vielen Profithemen wie Tests, Animationen, Material Design Components, Server Side Renderung über Debugging bis hin zur Entwicklung von vollständigen mobilen Anwendungen. Dieses Buch ist ein Muss für jeden JavaScript-Entwickler und für jeden, der React lernen möchte!

  • Grundlagen und Profiwissen, für Einsteiger und Fortgeschrittene
  • Umgang mit Komponentenarchitektur und Virtual DOM
  • Tests, Debugging, Material Design Components, Router, Animationen, i18n, Server Side Rendering u. v. m.

Aus dem Inhalt:

  • Erste Schritte mit React
  • Typsicherheit in React mit TypeScript
  • Styling von Komponenten
  • Absicherung durch automatisierte Tests
  • Interaktion über Formulare
  • Animationen
  • Material Design Components
  • Arbeit mit dem React Router
  • Zentrales Statemanagement mit Redux
  • Asynchronität und Seiteneffekte in Redux
  • Internationalisierung, Server Side Rendering
  • Serverkommunikation mit GraphQL und dem Apollo Client


Produkteigenschaften


  • Artikelnummer: 9783836292542
  • Medium: Buch
  • ISBN: 978-3-8362-9254-2
  • Verlag: Rheinwerk Verlag GmbH
  • Erscheinungstermin: 05.04.2023
  • Sprache(n): Deutsch
  • Auflage: 2. Auflage 2023
  • Serie: Rheinwerk Computing
  • Produktform: Gebunden
  • Gewicht: 1476 g
  • Seiten: 735
  • Format (B x H x T): 179 x 247 x 46 mm
  • Ausgabetyp: Kein, Unbekannt
Autoren/Hrsg.

Autoren

Sebastian Springer ist JavaScript-Engineer bei MaibornWolff. Als Dozent lehrt er JavaScript an der Technischen Hochschule Rosenheim. Er publiziert regelmäßig in Fachzeitschriften, schreibt Fachbücher zu Node.js und ist ein gefragter Speaker auf allen wichtigen JavaScript- und Webentwickler-Konferenzen. Sebastian Springer bietet auch Seminare zu JavaScript und Node.js an und ist Trainer für mehrere Rheinwerk Webinare.

  Materialien zum Buch ... 18

  Geleitwort des Fachgutachters ... 19

  Vorwort ... 21

  1.  Die ersten Schritte mit React ... 25


       1.1 ... Was ist React? ... 25

       1.2 ... Warum React? ... 32

       1.3 ... Die wichtigsten Begriffe und Konzepte der React-Welt ... 33

       1.4 ... Ein Blick in das React-Universum ... 40

       1.5 ... Thinking in React ... 41

       1.6 ... Codebeispiele ... 43

       1.7 ... Zusammenfassung ... 44

  2.  Die ersten Schritte im Entwicklungsprozess ... 45


       2.1 ... Schnellstart ... 45

       2.2 ... Playgrounds für React ... 46

       2.3 ... Lokale Entwicklung ... 50

       2.4 ... Der Einstieg in die Entwicklung mit React ... 53

       2.5 ... Die Struktur der Applikation ... 69

       2.6 ... Fehlersuche in einer React-Applikation ... 70

       2.7 ... Die Applikation bauen ... 73

       2.8 ... Zusammenfassung ... 74

  3.  Die Grundlagen von React ... 75


       3.1 ... Vorbereitung ... 75

       3.2 ... Einstieg in die Applikation ... 76

       3.3 ... Funktionskomponenten ... 80

       3.4 ... JSX -- Strukturen in React definieren ... 88

       3.5 ... Props -- Informationsfluss in einer Applikation ... 99

       3.6 ... Lokaler State ... 105

       3.7 ... Event-Binding -- Reaktion auf Benutzerinteraktionen ... 107

       3.8 ... Immutability ... 116

       3.9 ... Zusammenfassung ... 119

  4.  Ein Blick hinter die Kulissen -- weiterführende Themen ... 121


       4.1 ... Der Lebenszyklus einer Komponente ... 121

       4.2 ... Der Lebenszyklus einer Funktionskomponente mit dem Effect-Hook ... 122

       4.3 ... Serverkommunikation ... 133

       4.4 ... Container Components ... 145

       4.5 ... Higher-Order Components ... 151

       4.6 ... Render Props ... 155

       4.7 ... Kontext ... 160

       4.8 ... Fragments ... 168

       4.9 ... Zusammenfassung ... 170

  5.  Klassenkomponenten ... 171


       5.1 ... Klassenkomponenten in React ... 171

       5.2 ... Grundlegende Struktur einer Klassenkomponente ... 172

       5.3 ... Props in einer Klassenkomponente ... 173

       5.4 ... State -- der Zustand der Klassenkomponente ... 176

       5.5 ... Der Komponenten-Lifecycle ... 179

       5.6 ... Error Boundaries ... 191

       5.7 ... Die Context-API in einer Klassenkomponente verwenden ... 196

       5.8 ... Unterschiede zwischen Funktions- und Klassenkomponenten ... 198

       5.9 ... Zusammenfassung ... 198

  6.  Die Hooks-API von React ... 201


       6.1 ... Ein erster Überblick ... 202

       6.2 ... »useReducer« -- der Reducer Hook ... 204

       6.3 ... »useCallback« -- Memoisieren von Funktionen ... 212

       6.4 ... »useMemo« -- Memoisieren von Objekten ... 213

       6.5 ... »useRef« -- Referenzen und immutable Values ... 215

       6.6 ... »useImperativeHandle« -- Steuerung von ForwardRefs ... 218

       6.7 ... »useLayoutEffect« -- die synchrone Alternative zu useEffect ... 221

       6.8 ... »useDebugValue« -- Debugging-Informationen in den React Developer Tools ... 222

       6.9 ... »useDeferredValue« -- Updates nach Priorität durchführen ... 223

       6.10 ... »useTransition« -- die Priorität von Operationen heruntersetzen ... 226

       6.11 ... »useId« -- Eindeutige Identifier erzeugen ... 228

       6.12 ... Bibliotheks-Hooks ... 229

       6.13 ... Custom Hooks ... 230

       6.14 ... Rules of Hooks -- was Sie beachten sollten ... 232

       6.15 ... Umstieg auf Hooks ... 234

       6.16 ... Zusammenfassung ... 235

  7.  Typsicherheit in React-Applikationen mit TypeScript ... 237


       7.1 ... Was bringt ein Typsystem? ... 237

       7.2 ... Die verschiedenen Typsysteme ... 238

       7.3 ... Typsicherheit in einer React-Applikation mit Flow ... 239

       7.4 ... TypeScript in einer React-Applikation einsetzen ... 244

       7.5 ... TypeScript und React ... 250

       7.6 ... Zusammenfassung ... 263

  8.  Styling von React-Komponenten ... 265


       8.1 ... CSS-Import ... 265

       8.2 ... Inline-Styling ... 274

       8.3 ... CSS-Module ... 277

       8.4 ... CSS in JavaScript mit Emotion ... 279

       8.5 ... Tailwind ... 288

       8.6 ... Zusammenfassung ... 291

  9.  Eine React-Applikation durch Tests absichern ... 293


       9.1 ... Die ersten Schritte mit Jest ... 295

       9.2 ... Testen von Hilfsfunktionen ... 311

       9.3 ... Snapshot-Testing ... 313

       9.4 ... Komponenten testen ... 318

       9.5 ... Umgang mit Serverabhängigkeiten ... 323

       9.6 ... Zusammenfassung ... 328

10.  Formulare in React ... 331


       10.1 ... Uncontrolled Components ... 331

       10.2 ... Controlled Components ... 345

       10.3 ... Der Upload von Dateien ... 356

       10.4 ... Formularvalidierung mit React Hook Form ... 363

       10.5 ... Zusammenfassung ... 374

11.  Komponentenbibliotheken in einer React-Applikation ... 377


       11.1 ... Installation und Integration von Material-UI ... 377

       11.2 ... Listendarstellung mit der »Table«-Komponente ... 379

       11.3 ... Grids und Breakpoints ... 389

       11.4 ... Icons ... 392

       11.5 ... Datensätze löschen ... 395

       11.6 ... Neue Datensätze erzeugen ... 401

       11.7 ... Datensätze editieren ... 408

       11.8 ... Zusammenfassung ... 413

12.  Navigation innerhalb einer Applikation -- der Router ... 415


       12.1 ... Installation und Einbindung ... 416

       12.2 ... Navigation in der Applikation ... 417

       12.3 ... »Not found« ... 423

       12.4 ... Testen des Routings ... 425

       12.5 ... Bedingte Umleitungen ... 430

       12.6 ... Dynamische Routen ... 433

       12.7 ... Zusammenfassung ... 440

13.  Eigene React-Bibliotheken erzeugen ... 441


       13.1 ... Eine eigene Komponentenbibliothek erzeugen ... 441

       13.2 ... Einbinden der Bibliothek ... 451

       13.3 ... Testen der Bibliothek ... 454

       13.4 ... Storybook ... 458

       13.5 ... Zusammenfassung ... 461

14.  Zentrales State-Management mit Redux ... 463


       14.1 ... Die Flux-Architektur ... 464

       14.2 ... Installation von Redux ... 467

       14.3 ... Den zentralen Store konfigurieren ... 468

       14.4 ... Der Umgang mit Änderungen am Store mit Reducern ... 472

       14.5 ... Komponenten und den Store verknüpfen ... 476

       14.6 ... Änderungen mit Actions beschreiben ... 482

       14.7 ... Datensätze erstellen und bearbeiten ... 486

       14.8 ... Zusammenfassung ... 492

15.  Umgang mit Asynchronität und Seiteneffekten in Redux ... 495


       15.1 ... Middleware in Redux ... 495

       15.2 ... Redux mit Redux Thunk ... 497

       15.3 ... Generators -- Redux Saga ... 515

       15.4 ... State-Management mit RxJS -- Redux Observable ... 535

       15.5 ... JWT zur Authentifizierung ... 542

       15.6 ... Zusammenfassung ... 551

16.  Serverkommunikation mit GraphQL und dem Apollo-Client ... 553


       16.1 ... Einführung in GraphQL ... 553

       16.2 ... Apollo, ein GraphQL-Client für React ... 559

       16.3 ... Die Apollo Client Devtools ... 571

       16.4 ... Lokales State-Management mit Apollo ... 573

       16.5 ... Authentifizierung ... 578

       16.6 ... Zusammenfassung ... 580

17.  Internationalisierung ... 583


       17.1 ... Einsatz von react-i18next ... 584

       17.2 ... Platzhalter verwenden ... 593

       17.3 ... Werte formatieren ... 596

       17.4 ... Singular und Plural ... 600

       17.5 ... Zusammenfassung ... 603

18.  Universal React Apps mit Server-Side Rendering ... 605


       18.1 ... Wie funktioniert Server-Side Rendering? ... 606

       18.2 ... Umsetzung von Server-Side Rendering ... 607

       18.3 ... Server-Side Rendering mit Next.js ... 620

       18.4 ... Zusammenfassung ... 626

19.  Performance ... 629


       19.1 ... Der Callback-Hook ... 630

       19.2 ... Pure Components ... 632

       19.3 ... React.memo ... 634

       19.4 ... »React.lazy« -- Suspense for Code Splitting ... 637

       19.5 ... Suspense for Data Fetching ... 645

       19.6 ... Virtuelle Tabellen ... 653

       19.7 ... Zusammenfassung ... 658

20.  Progressive Web Apps ... 659


       20.1 ... Merkmale einer Progressive Web App ... 659

       20.2 ... Initialisieren der Applikation ... 660

       20.3 ... Installierbarkeit ... 661

       20.4 ... Offlinefähigkeit ... 674

       20.5 ... Werkzeuge für die Entwicklung ... 685

       20.6 ... Zusammenfassung ... 686

21.  Native Apps mit React Native ... 689


       21.1 ... Der Aufbau von React Native ... 689

       21.2 ... Die Installation von React Native ... 690

       21.3 ... Anzeige einer Übersichtsliste ... 694

       21.4 ... Debugging in der simulierten React-Native-Umgebung ... 707

       21.5 ... Bearbeiten von Datensätzen ... 710

       21.6 ... Publizieren ... 717

       21.7 ... Zusammenfassung ... 718

  Index ... 721