Zusammenfassung
In dieser Lektion hast du gelernt, dass:
- ein Effekt Code ist, den React ausführt, nachdem es eine Komponente gerendert hat, für Dinge außerhalb von React: den Titel des Tabs, Timer, das Laden von Daten,
localStorage. Du schreibst ihn mituseEffect(() => { ... }, [Abhängigkeiten]), das wieuseStateaus"react"importiert wird. - die Abhängigkeiten sagen, wann der Effekt läuft: ohne das Array nach jedem Render, mit
[]einmal, wenn die Komponente erscheint, mit[tag]am Anfang und immer, wenn sichtagändert. Jede State-Variable und Prop, die der Effekt verwendet, gehört hinein. - die Funktion, die ein Effekt zurückgibt, sein Cleanup ist. React ruft sie auf, wenn die Komponente verschwindet, und bevor es den Effekt noch einmal ausführt. Ein Intervall braucht eines:
return () => clearInterval(id);, eine Funktion, nicht das sofort aufgerufeneclearInterval(id). - ein Intervall, das im ersten Render entsteht, die Werte dieses Renders behält und den State darum mit der Updater-Funktion ändert:
setSekunden((sekunden) => sekunden + 1). - Daten in einem Effekt geladen werden, mit einer
async-Funktion darin, die der Effekt aufruft. Die Daten,laedtundfehlerim State sagen der Seite, was sie zeigen soll, undantwort.oksagt, ob der Server die Datei geschickt hat. - du dir State merkst, indem du ihn in einem Effekt speicherst, der von ihm abhängt, und ihn mit einer Funktion liest, die du
useStategibst und die React nur für den ersten Render aufruft.
In der nächsten Lektion, Checkpoint: Stoppuhr, baust du eine Stoppuhr, deren Intervall in einem Effekt läuft: Sie startet, hält an, geht auf null zurück und misst Runden.
Aber zuerst noch etwas Übung: das Programm mit einer Auswahl der Bühne, das die Bands aus einer Datei lädt und sich die gewählte Bühne merkt.
So schreibst du es:
"Shift + 2
{Alt Gr + 7
}Alt Gr + 0
[Alt Gr + 8
]Alt Gr + 9
<<
>Shift + <
/Shift + 7
|Alt Gr + <
&Shift + 6
`Shift + ´, Leertaste
$Shift + 4
Anweisungen
- 1
Lade die Bands beim Start der App in einem Effekt aus
bands.jsonund zeigeLädt…, bis sie da sind. - 2
Merke dir die gewählte Bühne: Speichere
buehneimmer, wenn sie sich ändert, inlocalStorageunter dem Schlüsselbuehneund lies sie beim Start der App, mit"alle", wenn nichts gespeichert ist. Probiere es aus: Wähle das Zelt und klicke auf Ausführen.