React 18: nebenläufig und flüssig
React 18 bringt nebenläufiges Rendering, automatisches Batching und Transitions — was das für wirklich flüssige Oberflächen bedeutet.
React 18 ist gerade erschienen, und es ist eines dieser Releases, das man erst beim Bauen richtig versteht. Auf den ersten Blick ändert sich wenig — die meisten Apps laufen einfach weiter. Auf den zweiten Blick verschiebt sich, wie React über Zeit denkt.
Nebenläufiges Rendering
Das Fundament ist die Concurrent-Architektur. React kann das Rendern jetzt unterbrechen, pausieren und wieder aufnehmen, statt eine Aktualisierung in einem Stück durchzuziehen. Das heißt: Eine teure Aktualisierung blockiert nicht mehr zwingend das, was gerade dringender ist — etwa Tippen oder Klicken.
Flüssigkeit entsteht nicht dadurch, dass alles schneller ist, sondern dadurch, dass das Wichtige zuerst kommt.
Spürbar wird das über startTransition. Damit markiere ich eine Aktualisierung als nicht
dringend — etwa das Filtern einer langen Liste — während die Eingabe selbst sofort reagiert.
Die Oberfläche bleibt ansprechbar, auch wenn im Hintergrund viel passiert.
Was sich im Alltag ändert
Zwei kleinere Neuerungen mag ich besonders, weil sie reibungslos wirken:
- Automatisches Batching fasst nun auch Zustandsänderungen in Promises, Timeouts und Events zu einem Re-Render zusammen — weniger unnötige Durchläufe, ganz ohne mein Zutun.
useTransitionunduseDeferredValuegeben mir feine Kontrolle darüber, was warten darf.
Der Einstieg ist sanft: Mit createRoot aktiviere ich die neuen Fähigkeiten, und vieles
funktioniert sofort besser, ohne dass ich Code umschreiben muss. Die wirklich interessanten
Muster kommen dann nach und nach dazu.
Für mich ist React 18 kein lautes Update. Es ist eines, das die Verantwortung verschiebt: Statt selbst zu jonglieren, wann was gerendert wird, sage ich React nur noch, was Priorität hat — und überlasse ihm das Timing. Genau das macht Oberflächen flüssig, ohne dass man die Mechanik sieht.