React
eBook - ePub

React

Grundlagen, fortgeschrittene Techniken und Praxistipps – mit TypeScript und Redux

  1. 402 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

React

Grundlagen, fortgeschrittene Techniken und Praxistipps – mit TypeScript und Redux

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Das bewährte und umfassende Praxisbuch zu React – jetzt komplett aktualisiert und erweitert!- Vom Einstieg bis zur professionellen React-Anwendung- Lernen mit einem durchgehenden Beispiel- Mit Tipps aus der Entwicklungspraxis der erfahrenen Autoren, z.B. zur Performance-Optimierung- Mit einer Einführung in TypeScriptMit diesem Buch lernst du von Grund auf, wie du mit React professionelle Single-Page-Anwendungen entwickelst.In der Neuauflage ihres bewährten React-Arbeitsbuchs zeigen dir Nils Hartmann und Oliver Zeigermann alles Wesentliche von den Anfängen bis zur produktreifen React-Anwendung. Sie erklären dir dabei, wie du mit TypeScript typsicher und nachhaltig entwickelst und große Anwendungen u.a. mit dem React Context und Redux strukturierst. An vielen Stellen versorgen sie dich zudem mit hilfreichen Tipps aus ihrer eigenen React-Entwicklungspraxis.Unter anderem wirst du folgende Themen kennenlernen: - Anwendungen entwickeln mit der Hooks API und TypeScript- Komponenten gestalten mit CSS- Automatisiertes Testen mit der React Testing Library- Client-Server-Kommunikation mit REST und GraphQL- Navigation im Browser mit dem React Router- Statemanagement mit React Context und Redux- Serverseitiges Rendern von React-Anwendungen- Strategien zur Performance-OptimierungEigene Kapitel widmen sich den eingesetzten modernen JavaScript-Features sowie TypeScript, sodass zum Verständnis des Buches Kenntnisse von ES5 ausreichen.Neu in der 2. Auflage sind unter anderem: - Die React Hooks API- Testen mit der React Testing Library- Typsichere Anwendungen mit TypeScript- GraphQL-Clients mit React

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu React von Nils Hartmann,Oliver Zeigermann im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Programming in JavaScript. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2019
ISBN
9783960884200

Teil III

Über React hinaus

In Teil II haben wir uns nahezu ausschließlich mit der React-API und einigen Standard-APIs des Browsers beschäftigt.
In diesem Teil zeigen wir nun verschiedene Techniken, die üblicherweise in größeren Anwendungen zum Einsatz kommen, aber nicht mehr Bestandteil von React selbst sind. Da React nur eine Bibliothek ist, kannst du dir für viele Problemstellungen selbst aussuchen, ob und was du dafür einsetzen willst.
Die einzelnen Kapitel sind unabhängig voneinander, da es auch nicht notwendig ist, alle vorgestellten Techniken in deiner Anwendung zu verwenden. Du kannst sie alle zusammen einsetzen, es ist aber kein Muss.

8React-Anwendungen testen

Mit dem letzten Kapitel von Teil II haben wir die Entwicklung unserer Anwendung zunächst abgeschlossen. In diesem Kapitel entwickeln wir dafür nun Testfälle, die automatisch ausgeführt werden.

8.1Hands-on: Testen mit Jest und React Testing Library

In diesem Buch schlagen wir dir keine spezielle Teststrategie oder Philosophie vor. Ob du testgetrieben1 arbeitest oder lieber nach getaner Arbeit einzelne Tests schreibst, ist egal. Beide Ansätze sind mit den vorhandenen Möglichkeiten, React-Anwendungen zu testen, gut zu vereinbaren. Und wenn du gar keine Tests schreiben möchtest, können wir das auch sehr gut verstehen.
Schritt 1: Unit Tests mit Jest
Bevor wir zum Testen unserer React-Komponenten kommen, möchten wir zunächst die Logik unserer Anwendung testen, die sich nicht innerhalb einer Komponente befindet. Dadurch lernen wir das zugrunde liegende Testframework Jest2 kennen, ohne auf die React-Besonderheiten eingehen zu müssen.
Unser Projekt ist für das Schreiben und Ausführen dank Create React App bereits vorbereitet. Hier ist Jest schon installiert und sucht anhand einiger Konventionen nach JavaScript-Dateien, die Testcode enthalten. In unserem Projekt legen wir die Testdateien in ein Verzeichnis mit dem Namen __tests__. Dieses Verzeichnis befindet sich jeweils unterhalb des Verzeichnisses, in dem die Module liegen, die wir testen wollen, also zum Beispiel src/components/__tests__. Die eigentlichen Testdateien enden dann auf .test.js. Mit diesem Namen-Pattern wird Jest die Tests automatisch finden und ausführen.
Zunächst schreiben wir Tests für die voteListReducer-Funktion, die wir für die Verwaltung des Zustands in der VoteListPage verwenden. Diese Reducer-Funktion erwartet den aktuellen State und eine Action. Nach der Verarbeitung der Action liefert die Funktion dann einen neuen Zustand zurück. Sowohl Zustand als auch Actions sind einfache JavaScript-Objekte. Reducer-Funktionen sind pure Funktionen, also seiteneffektfrei und ohne Abhängigkeiten zu React. Damit eignen sie sich sehr gut für Unit Tests.
Damit wir im Test auf die Funktion zugreifen können, müssen wir diese zunächst in der Datei VoteListPage.js exportieren:
export function voteListReducer(state, action) { ... }
export default function VoteListPage() { ... }
Die Tests für die Funktion legen wir in der Datei src/components/__tests__/voteReducer.test.js ab.
Wenn die VoteListPage beginnt, die Umfragen vom Server zu laden, löst sie eine START_REQUEST-Action aus. Diese Action enthält keine weiteren Parameter. Die Reducer-Funktion soll daraufhin im State die loading-Eigenschaft auf true setzen. Die korrekte Verarbeitung der Action können wir testen, indem wir die Reducer-Funktion mit der Action aufrufen und das zurückgelieferte Objekt überprüfen:
import { voteListReducer } from "../VoteListPage";
test("handle START_REQUEST action correctly", () => {
const oldState = {};
const newState = voteListReducer(
oldState, { type: "START_REQUEST" });
expect(newState).toEqual({
loading: true
});
});
Testfunktionen
In Jest werden Tests als Funktionen geschrieben. Jeder Test beginnt mit der Funktion test (alternativ: it). Diese Funktion nimmt den sprechenden Namen des Tests entgegen und als weiteren Parameter eine Funktion, die den eigentlichen Test enthält.
Bedingungen überprüfen: expect
Die Bedingungen, die innerhalb eines Tests überprüft werden sollen, werden der expect-Funktion von Jest übergeben. Diese liefert ein Objekt zurück, auf dem eine Reihe von Matcher-Funktionen3 definiert sind. Mit diesen kannst du den Wert überprüfen. Die API ist auf diese Weise fast sprechend: Ich erwarte, dass dieser Wert A identisch ist mit X/größer ist als Y/nicht null ist ...
In unserem obigen Testfall erzeugen wir einen fiktiven aktuellen Zustand und übergeben diesen mitsamt dem Action-Objekt an die Reducer-Funktion (genauso, wie es React auch tun würde). Das Ergebnis vergleichen wir dann mit expect und dem toEqual-Matcher. Auf die gleiche Weise können wir das Verhalten bei anderen Ausgangszuständen oder auch Actions testen.
Schritt 2:...

Inhaltsverzeichnis

  1. Cover
  2. Über den Autor
  3. Titel
  4. Impressum
  5. Inhaltsverzeichnis
  6. Teil I Einstieg
  7. Teil II React
  8. Teil III Über React hinaus
  9. Anhang
  10. Fußnoten
  11. Index