Komponenten-basierte UI-Library mit deklarativem Rendering.
React ist die deklarative UI-Library von Meta — Komponenten + Hooks + virtuelles DOM. React 19 bringt stabilen use()-Hook, Actions, useOptimistic, useFormStatus und den React Compiler (auto-memoization).
pnpm create vite@latest my-app -- --template react-ts
# oder als Teil von Next.js / Remix
pnpm add react@19 react-dom@19
use() für Promises in Components (React 19):
function Comments({ promise }) {
const data = use(promise) // suspendet automatisch
return <ul>{data.map(...)}</ul>
}
const [state, action, pending] = useActionState(submit, null)
useOptimistic für instant UI bei Mutations.useXxx, dürfen nur in Components/anderen Hooks aufgerufen werden.useEffect ohne korrekte Deps — ESLint-Plugin react-hooks/exhaustive-deps ist Pflicht.useEffect läuft im StrictMode zweimal in dev — Cleanup-Funktionen müssen idempotent sein.key={index} in Listen mit reorder/insert → Bugs. Stabile IDs nutzen.useMemo/useCallback meist nicht mehr — Manual-Memo kann sogar bremsen.useState-Initializer mit teurer Berechnung: Function-Form nutzen (useState(() => expensive())), sonst läuft sie bei jedem Render.Statische Marketing-Site mit minimaler Interaktion → reines HTML/CSS oder Astro. Sehr komplexe Realtime-State-Maschinen → XState oder Signals (Solid/Svelte) können besser passen.