useTrail und useChain für Sequenzen
Animationen mit useTrail über mehrere Elemente staffeln und Sequenzen mit useChain orchestrieren
useTrail und useChain für Sequenzen ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
useTrail für gestaffelte Animationen
useTrail(count, config) erstellt count Springs, die mit einer konfigurierbaren Verzögerung nacheinander animiert werden. Wenn der Trail beginnt, wird das erste Element sofort animiert, das zweite beginnt kurz danach, das dritte wiederum danach und so weiter – dadurch entsteht ein Auffächerungs- oder Kaskadeneffekt.
Rückgabewert von useTrail
useTrail gibt ein Array von Spring-Objekten zurück, eines für jedes Element im Trail. Jeder Spring hat dieselbe Struktur (dieselben Schlüssel), beginnt seine Animation jedoch zu einem anderen Zeitpunkt. Sie durchlaufen gleichzeitig sowohl das Trail-Array als auch Ihr Items-Array, um jedes animierte Element mit dem zugehörigen Spring zu rendern.
Trail auf eine Liste anwenden
Rendern Sie eine Liste mit Trail-Effekt, indem Sie das Trail-Array durchlaufen: trail.map((spring, i) => React.createElement(animated.div, { style: spring, key: items[i].id }, items[i].content)). Jedes animated.div erhält sein eigenes Spring-Objekt, sodass die Elemente nacheinander animiert werden. Die Springs werden in Indexreihenfolge ausgeführt: 0, 1, 2, 3 ...
Richtung des Trails steuern
useTrail unterstützt ein Umschaltmuster für die Vorwärts- und Rückwärtsanimation. Übergeben Sie einen booleschen Zustand open, um die Richtung zu steuern: Wenn open true ist, animiert der Trail vom verborgenen zum sichtbaren Zustand; wenn open false ist, kehrt er vom sichtbaren zum verborgenen Zustand zurück. Der Trail kehrt die Reihenfolge automatisch um – die Elemente werden in umgekehrter Reihenfolge ausgeblendet (zuletzt hinein, zuerst hinaus).
Trail-Konfiguration und Timing
Das Konfigurationsobjekt für useTrail entspricht dem von useSpring: tension, friction, mass. Die Verzögerung zwischen den Elementen wird dadurch bestimmt, wie lange jeder Spring zum Starten braucht; dies wird von der gesamten Spring-Physik gesteuert. Steifere Springs mit höherer tension erzeugen eine schnellere Staffelung, sanftere Springs längere Kaskaden.
useSpringRef für useChain
useSpringRef() erstellt eine Ref, die Sie über die ref-Option an einen Spring-Hook anhängen. Die Ref ermöglicht useChain zu steuern, wann dieser Spring startet. Sie erstellen eine Ref pro Spring oder Trail, die Sie sequenzieren möchten: const springRef = useSpringRef(), und übergeben sie anschließend: useSpring({ ref: springRef, ... }).
useChain für sequenzielle Orchestrierung
useChain([ref1, ref2, ref3], [0, 0.5, 0.8]) sequenziert mehrere Springs oder Trails. Das erste Argument ist ein Array von springRefs in der Reihenfolge, in der sie abgespielt werden sollen. Das zweite Argument ist ein Array von Zeitstempeln zwischen 0 und 1. Diese geben an, wann jeder Spring als Anteil am gesamten Zeitrahmen startet.
Bedeutung von Zeitstempeln in useChain
In useChain bedeuten Zeitstempel wie [0, 0.5], dass Spring 1 bei 0 % der Sequenz startet und Spring 2 bei 50 %. Das optionale dritte Argument ist der gesamte Zeitrahmen in Millisekunden (Standard: 1000 ms). Bei [0, 0.5] und 2000 ms startet Spring 1 also bei 0 ms und Spring 2 bei 1000 ms.
Praktisches useChain-Beispiel
Ein gängiges Muster besteht darin, einen Container zu vergrößern (useSpring für die Größe) und anschließend die darin enthaltenen Elemente einzublenden (useTrail für die Liste). Hängen Sie an beide Refs an und verwenden Sie anschließend useChain([sizeRef, trailRef], [0, 0.5]), damit sich der Container zuerst vergrößert und die Elemente ab der Hälfte eingeblendet werden. So entsteht eine filmische zweiphasige Eingangsanimation.
Muster für Seitenübergänge
useChain eignet sich ideal für Seitenübergänge. Beim Navigieren zwischen Seiten verketten Sie die Exit-Animation der alten Seite mit der Eingangsanimation der neuen Seite. Die Exit-Animation wird zuerst abgeschlossen (Zeitstempel 0), anschließend beginnt die Eingangsanimation (Zeitstempel 0.6). So entsteht eine gleichmäßige Übergabe statt eines abrupten Wechsels.
Parallaxeffekt mit useTrail
Mit useTrail lassen sich Parallaxeffekte beim Scrollen erzeugen, indem Elemente abhängig von ihrer Position im Trail mit unterschiedlichen Geschwindigkeiten animiert werden. Elemente, die weiter hinten im Trail liegen, starten später und verwenden möglicherweise eine andere Konfiguration (geringere tension), wodurch sie sich langsamer bewegen. Diese tiefenbasierte zeitliche Abstimmung simuliert den Parallaxeffekt von Objekten in unterschiedlichen Entfernungen.
Mechanismus der useTrail-Staffelung
Wie erzeugt useTrail die gestaffelte Verzögerung zwischen den Elementen der Animation?
Lektionszusammenfassung: useTrail und useChain
useTrail(count, config) erstellt count Springs, die nacheinander animiert werden und dadurch gestaffelte Einblendungen von Listen erzeugen. Durchlaufen Sie Trail und Items gleichzeitig, um die Elemente zu rendern. useSpringRef() erstellt Refs, die useChain zur Sequenzierung verwendet. useChain([ref1, ref2], [0, 0.5]) orchestriert mehrere Springs mit Zeitstempeln als Bruchteilen des gesamten Zeitrahmens. Zusammen ermöglichen diese Hooks komplexe mehrphasige Abläufe wie Animationen nach dem Muster „erst vergrößern, dann einblenden“.
Häufig gestellte Fragen
Ist die Lektion „useTrail und useChain für Sequenzen“ kostenlos?
Ja — der vollständige Text von „useTrail und useChain für Sequenzen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „useTrail und useChain für Sequenzen“?
Animationen mit useTrail über mehrere Elemente staffeln und Sequenzen mit useChain orchestrieren Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um React Academy zu starten?
Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „useTrail und useChain für Sequenzen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?
Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- React Spring: useSpring-Hook
- Animierte Komponenten und Style-Interpolation
- useTrail und useChain für Sequenzen
- Gestengesteuerte Animationen mit use-gesture