React

das umfassende Handbuch
Buch | Hardcover
700 Seiten
2023 | 2., aktualisierte und erweiterte Auflage
Rheinwerk (Verlag)
978-3-8362-9254-2 (ISBN)
49,90 inkl. MwSt
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 eine wichtige Grundlage für viele Unternehmensanwendungen, Single-Page-Applikationen sowie für viele Apps für iPhone und Android.

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

Erfahren Sie in diesem umfassenden Handbuch des JavaScipt-Experten Sebastian Springer, wie Sie performante Oberflächen gestalten können. 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!

Die ersten Schritte
Was ist React und wie wird die Bibliothek eingesetzt? Lernen Sie die grundlegende Struktur einer Applikation und die Grundlagen von React kennen.

Lernen in der Praxis
Anhand der zahlreichen Beispiel-Programme lernen Sie alle wichtigen Konzepte und Technologien von React und seiner komponentenbasierten Architektur kennen.

Komplexe Anwendungen entwickeln
Auch wenn Ihre Anwendung größer und komplexer wird, unterstützt Sie das Buch: Statemanagement oder Seiteneffekte mit Redux, automatisierte Tests, i18n, Serverkommunikation und vieles mehr.

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

Sebastian Springer ist als JavaScript Engineer bei MaibornWolff tätig. Neben der Entwicklung und Konzeption von Applikationen liegt sein Fokus auf der Vermittlung von Wissen. Als Dozent für JavaScript, Sprecher auf zahlreichen Konferenzen und Autor versucht er, die Begeisterung für professionelle Entwicklung mit JavaScript zu wecken.


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

Erscheinungsdatum
Zusatzinfo Illustrationen
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Web / Internet
Schlagworte Angular • Hand-Buch Bücher Wissen • JavaScript-Bibliothek • JavaScript JS • Material Design • Mobile-Anwendungen • Node.js • Oberflächengestaltung • React.js • redux • Single Page Applikation • Tutorial • Usability • user interface • ux user experience • vordefinierte Codebits
ISBN-10 3-8362-9254-8 / 3836292548
ISBN-13 978-3-8362-9254-2 / 9783836292542
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich