React
React von Grund auf lernen. Komponenten, State, Hooks, Context, Performance, Routing, Tests und eine abschliessende Praxisanwendung.
17 Lektionen, der Reihe nach
- 125 Min.
Was ist React?
Willkommen. Wenn du noch nie eine Zeile JavaScript geschrieben hast und dir nicht sicher bist, was ein "Framework" ist, bist du hier richtig. Am Ende...
What React isComponents as functionsVirtual DOM intuitionRendering JSXCreating a Vite app - 230 Min.
JSX und Components
In der letzten Lektion hast du gesehen, wie eine Komponente etwas zurückgibt, das wie HTML aussieht: return <h1>Hello, React</h1>;. Das sollte sich...
JSX syntax rulesSingle root elementClassName vs classEmbedding expressions with {}Defining componentsComposing components - 330 Min.
Props
Jede Komponente, die du bisher geschrieben hast, war fest verdrahtet. Greeting grüßt immer denselben Namen, Card zeigt immer denselben Text. Für eine...
Passing props as attributesReceiving props objectDestructuring props in signatureDefault valuesThinking about prop shapes - 435 Min.
State mit useState
Jede Komponente, die du bisher geschrieben hast, rendert bei gleichen Props jedes Mal dieselbe Ausgabe. Für eine Überschrift oder eine Karte reicht...
UseState hookReading stateCalling the setterUpdater function formNever mutate stateCounter pattern - 530 Min.
Ereignisse verarbeiten
Eine Komponente, die immer nur anhand von Props und State rendert, ist für sich genommen nicht interaktiv. Irgendetwas muss mitbekommen, dass der...
OnClick handlerOnChange basicsPassing functions vs calling themEvent objectPassing handlers as props - 630 Min.
Bedingtes Rendering und Listen
Fast jeder Bildschirm, den du je benutzt hast, zeigt je nach Bedingung das eine statt das andere: ein Banner "Du hast neue Nachrichten", das nur...
&& for show/hideTernary for either/orMapping arrays to JSXThe key propWhy keys need to be stable - 735 Min.
Formulare und Controlled Inputs
Tippst du einen Buchstaben in ein einfaches HTML-<input>, erledigt der Browser das von selbst: Das DOM-Element merkt sich still, was du getippt hast,...
Controlled input patternValue and onChange togetherMulti-field form stateOnSubmit and preventDefaultGathering form data - 840 Min.
Effects mit useEffect
Die Aufgabe einer Komponente bestand bisher darin, ihre aktuellen Props und ihren State anzuschauen und eine einzige Frage zu beantworten: Was soll...
What counts as a side effectUseEffect signatureDependency arrayRunning on mount onlyCleanup functionSubscribe/unsubscribe pattern - 940 Min.
Datenabruf
Fast keine echte Anwendung kommt damit aus, nur Daten anzuzeigen, die der Nutzer ohnehin schon vor sich hat. Irgendwann muss eine Komponente einen...
Fetch inside useEffectLoading/error/data statesAbortController cleanupPreventing setState after unmountMention TanStack Query as a next step - 1035 Min.
Component-Komposition
Du hast eine Karte mit Rahmen und Schatten gebaut, und sie sieht gut aus. Jetzt brauchst du dieselbe Karte um ein Foto herum, um ein Anmeldeformular...
Children propWrapping componentsPassing JSX as propsLifting state upThinking in component trees - 1135 Min.
Context und useContext
Deine Anwendung hat einen Schalter für den Dark Mode. Der Schalter sitzt im Einstellungsbereich, aber wissen muss davon ein Button acht Komponenten...
CreateContextContext.ProviderUseContextWhen context is the right toolContext vs prop drilling tradeoffs - 1235 Min.
useReducer
Ein Bestellformular fängt einfach an. Es gibt einen Wert, also nimmst du useState. Dann braucht es eine Fehlermeldung, also noch ein useState. Dann...
When to reach for useReducerReducer function shapeAction objectsDispatchCombining useReducer with useContext - 1335 Min.
Benutzerdefinierte Hooks
Du hast eine Schublade gebaut, die auf- und zugeht. Drei useState-Zeilen und ein Handler, der einen Boolean umklappt. Dann dasselbe für ein Dropdown,...
Extracting stateful logic into a functionUse prefix conventionUseToggle exampleUseLocalStorage exampleHooks rules - 1435 Min.
Performance und Memoization
Deine App hat eine Tabelle mit zweitausend Zeilen und darüber ein Suchfeld. Jeder Tastendruck fühlt sich zäh an: Du tippst, und eine halbe Sekunde...
React.memo for componentsUseMemo for expensive computationsUseCallback for stable function referencesWhen memoization is overkillMeasuring before optimizing - 1540 Min.
Routing mit React Router
Alles, was du bisher gebaut hast, liegt unter einer einzigen Adresse. Es gibt eine Seite, und was der Nutzer sehen soll, blendest du über den State...
Installing react-router-domBrowserRouterRoutes and RouteLink for navigationUseParamsUseNavigate - 1640 Min.
React Components testen
Du änderst eine Zeile in einer gemeinsam genutzten Komponente und klickst danach zwanzig Minuten lang durch die Anwendung, um zu prüfen, dass nichts...
Vitest + React Testing Library setupRender and screenGetByRole queriesUserEvent for interactionsWriting one good button test - 1760 Min.
Abschlussprojekt: To-do-App
Jede Lektion bisher hat dir eine Idee auf einmal gegeben, mit einem kleinen Beispiel drumherum. Echte Anwendungen sind nicht so. In einer echten...
Combining state, lists, controlled inputsCustom hook for localStorage persistenceSmall routing setupPutting it together
Lerne React in deiner Sprache
Jede Lektion, jedes Quiz und jede Tutor-Antwort erscheint in deiner Sprache. Der KI-Tutor antwortet in der Sprache, in der du fragst.
Roles that use React
See how hiring teams interview engineers on React, in production-like environments.
Frontend Engineer (React, Angular, Vue)
Hire frontend engineers in real workspaces with Vite, real component libraries and real performance budgets. Live or take-home, fully recorded.
See the interviewFull Stack Developer
Hire full stack developers in real apps with real APIs, real UIs and real tests. Live or take-home, fully recorded.
See the interviewWeb Application Engineer
Hire web application engineers in real apps with real routes, real auth and real test suites. Live or take-home, fully recorded.
See the interview