Book description
React ist eine Bibliothek zur Entwicklung von Single-Page-Anwendungen und nach Angular der zweite große Star in der JavaScript-Programmierung. React wurde von Facebook entwickelt, ist bei Entwicklern äußerst beliebt und in großen und kleinen Webanwendungen weit verbreitet.Nach der Lektüre kann man selbstständig React-basierte Webanwendungen bauen. Man weiß zudem, wie große Anwendungen mit der Redux-Bibliothek strukturiert und mit der Sprache TypeScript typischer und nachhaltig entwickelt werden.Neu in der 2. Auflage: die React Hooks API sowie die Verwendung von TypeScript und GraphQL.
Table of contents
- Cover
- Über den Autor
- Titel
- Impressum
- Inhaltsverzeichnis
-
Teil I Einstieg
- 1 Einleitung
- 1.1 Was ist React?
- 1.2 Warum React?
- 1.3 Beziehung zu anderen Technologien
- 1.4 Vergleich mit anderen Webtechnologien
- 1.5 Wie man dieses Buch benutzt
- 1.6 Voraussetzungen für dieses Buch
- 1.7 Änderungen gegenüber der ersten Auflage
- 1.8 Website zum Buch
- 1.9 Danksagungen
- 2 Schnelldurchgang – React im Überblick
- 2.1 Zusammengefasst: Unterschiede zwischen Hooks- und Klassen-API
- 2.2 Ein React-Projekt beginnen mit Create React App
- 2.3 Zusammenfassung
- 3 Die Beispielanwendung: »Vote as a Service«
- 3.1 Die Beispielanwendung installieren und ausführen
- 3.2 Fachliches Modell
- 3.3 Die Anwendung schrittweise entwickeln
- 3.4 Zusammenfassung
-
Teil II React
- 4 Eine React-Komponente
- 4.1 Hands-on: eine Komponente
- 4.2 React-Komponenten in der Übersicht
- 4.3 Hooks
- 4.4 Zustand verwalten mit useState
- 4.5 Ereignisse und Event Handler
- 4.6 JSX zur Beschreibung der UI
- 4.7 Rückgabewerte von Komponenten
- 4.8 Einhängen der Anwendung in den DOM
- 4.9 Arbeiten mit CSS
- 4.10 Zusammenfassung
- 5 Arbeiten mit Komponentenhierarchien
- 5.1 Hands-on: Hierarchien von Komponenten
- 5.2 Kommunikation zwischen Komponenten
- 5.3 Das »Render Properties«-Pattern
- 5.4 Performance-Optimierung: Caching von Werten mit useMemo
- 5.5 Performance-Optimierung: Rendern vom Komponenten unterdrücken
- 5.6 Performance-Optimierung: Code-Splitting mit React.lazy und Suspense
- 5.7 Der React Strict Mode
- 5.8 Zusammenfassung
- 6 Formulare mit React
- 6.1 Hands-on: ein Editor für Umfragen
- 6.2 Hintergrund: Databinding
- 6.3 Controlled Components
- 6.4 Uncontrolled Components
- 6.5 Auf native DOM-Elemente zugreifen: das ref-Property
- 6.6 Komplexen Zustand mit useReducer verwalten
- 6.7 Zusammenfassung
- 7 Arbeiten mit Seiteneffekten: asynchrone Serverzugriffe
- 7.1 Hands-on: Serveranbindung
- 7.2 Seiteneffekte mit useEffect
- 7.3 Code wiederverwenden mit Custom Hooks
- 7.4 Server-Requests mit useState und useReducer
- 7.5 Ausblick: Daten laden mit Suspense
- 7.6 Zusammenfassung
-
Teil III Über React hinaus
- 8 React-Anwendungen testen
- 8.1 Hands-on: Testen mit Jest und React Testing Library
- 8.2 Überblick: React-Anwendungen testen
- 8.3 React-Test-Bibliotheken
- 8.4 Snapshot Testing
- 8.5 Zusammenfassung
- 9 Der React Router
- 9.1 Hands-on: der React Router im Schnelldurchgang
- 9.2 Anpassungen an der Vote-Anwendung
- 9.3 Links und Routen
- 9.4 Navigation über die History
- 9.5 Authentifizierung
- 9.6 Die React Context API
- 9.7 Lazy Loading mit dem React Router
- 9.8 Testen
- 9.9 Zusammenfassung
- 10 Externes Statemanagement mit Redux
- 10.1 Motivation
- 10.2 Hands-on: eine Redux-Anwendung
- 10.3 Redux in der Vote-Anwendung
- 10.4 Arbeiten mit dem globalen Zustand
- 10.5 Asynchrone Actions
- 10.6 Alternative zu Hooks: die connect-Funktion
- 10.7 Integration von Redux und React Router
- 10.8 Testen von Redux-Anwendungen
- 10.9 Exkurs: Codestruktur von großen React-Anwendungen
- 10.10 Alternative zu Redux: MobX
- 10.11 Zusammenfassung
- 11 React-Anwendungen mit TypeScript
- 11.1 Hands-on: eine React-Anwendung mit TypeScript
- 11.2 TypeScript in React-Anwendungen
- 11.3 React-Komponenten mit TypeScript
- 11.4 Der React Router mit TypeScript
- 11.5 Redux
- 11.6 Zusammenfassung
- 12 GraphQL mit dem Apollo Client für React
- 12.1 Hands-on: ein GraphQL-Client
- 12.2 GraphQL in der Vote-Anwendung
- 12.3 Mutations
- 12.4 Der Apollo Client Cache
- 12.5 GraphQL für externes Statemanagement?
- 12.6 Der Apollo React Client mit TypeScript
- 12.7 Zusammenfassung
-
Anhang
- A Serverseitiges Rendern mit React
- A.1 Ein Beispiel
- A.2 Gründe für serverseitiges Rendern
- A.3 Serverseitiges Rendern im Überblick
- A.4 Herausforderungen
- A.5 Asynchrones Datenladen mit Redux und dem React Router
- B Komponenten als Klassen
- B.1 React-Komponenten als ES6-Klasse
- B.2 Methoden-Binding für Event Handler
- B.3 Zugriff auf native DOM-Elemente
- B.4 Arbeiten mit Seiteneffekten
- B.5 Beispiel: Error Boundaries
- B.6 Klassenkomponenten mit TypeScript
- C Einführung in ES.Next
- C.1 Einleitung
- C.2 Block-Scope
- C.3 Template Strings
- C.4 Destructuring
- C.5 Klassen
- C.6 Vererbung
- C.7 Erweiterte Objekt-Literale
- C.8 Module, Exporte und Importe
- C.9 Arrow-Funktionen
- C.10 Default- und Rest Parameter
- C.11 Spread-Operator für Arrays
- C.12 Object.assign und Spread-Operator bei Objekten
- C.13 Promises
- C.14 async/await
- C.15 Generatorfunktionen
- C.16 Die fetch-API
- D Einführung in TypeScript
- D.1 Motivation
- D.2 Die Sprache TypeScript
- D.3 Grundlagen des TypeScript-Typsystems
- D.4 Externe Typbeschreibungen
- E Übersicht GraphQL
- E.1 Abfragen
- E.2 Das Schema: Beschreibung der API
- Fußnoten
- Index
Product information
- Title: React, 2nd Edition
- Author(s):
- Release date: December 2019
- Publisher(s): dpunkt
- ISBN: 9783864905520
You might also like
book
React: Up & Running, 2nd Edition
Hit the ground running with React, the open source technology from Facebook for building rich web …
book
Learning React, 2nd Edition
If you want to learn how to build efficient React applications, this is your book. Ideal …
book
React Cookbook
React helps you create and work on an app in just a few minutes. But learning …
book
React 17 Design Patterns and Best Practices - Third Edition
Build scalable, maintainable, and powerful React web apps with design patterns and insightful best practices Key …