Vælg en driver, kombinér flere, og vid præcis, hvad der sker, når én stoppes eller udskiftes.
timing, spring og decay
timing følger en kurve i en fast duration. spring følger fysik og har ingen fast længde. decay starter med en hastighed og sætter farten ned.
De samme drivers tager et tal, et ValueXY eller en post, så { x, y, opacity } kan bevæge sig sammen.
Forbereder eksemplet…
Fjederparametre
Brug én parametrisering. Uden nogen får du React Natives standardfjeder (tension 40, friction 7). En fjeders velocity er som standard hastigheden i den bane, den afbryder.
sequence kører efter hinanden, parallel kører samtidig, stagger starter hver efter en forsinkelse, delay venter, og loop gentager. Resultatet er igen en controller, så kompositioner kan indlejres.
Forbereder eksemplet…
start, stop og reset
Hver controller har start(callback?), stop() og reset(). Callbacken får { finished }: false, når bevægelsen blev stoppet eller udskiftet.
At starte en ny driver på den samme værdi udskifter den kørende fra den aktuelle position. Der er intet hop til nogen af enderne.
controller.js
const move = timing(value, { toValue: 1, duration: 600 });
move.start(({ finished }) => {
// finished is false when stopped or replaced by a new animation
});
move.stop(); // keeps the value where it is on screen
move.reset(); // returns to where this animation started
Følg en anden værdi
En levende toValue genstarter driveren, hver gang den værdi ændrer sig, som tracking i React Native. follow(target, source) er den samme fjederforbindelse som navngivet funktion.
tracking.js
// A live toValue tracks another value, like React Native tracking.spring(badge, { toValue: pointer, stiffness: 300, damping: 26 }).start();
// follow() is the same connection as a named function.follow(badge, pointer, { stiffness: 300, damping: 26 });
Easing og keyframes
Easing svarer til React Native: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier og hjælperne in, out, inOut. keyframes(value, frames, options) fører én værdi gennem flere tal med valgfrie times og repeat.