מדריכים · 05

כניסה, יציאה ופריסה

שמרו ילדים יוצאים עד שהתנועה שלהם מסתיימת, והנפישו שינויי מיקום וגודל, גם בין רכיבים.

Animated.Keep

Animated.Keep שומר ילדים ישירים עם key לאורך ה־pose depart שלהם. seed={false} גורם לילדים שקיימים ברינדור הראשון להתחיל ב־pose שלהם, wait דוחה ילדים נכנסים עד שהיציאות מסתיימות, ו־onDeparted מופעל אחרי האחרונה.

מכין את הדוגמה…

Animated.Scene ו־move

Animated.Scene מודד את הפריסה המחויבת. אלמנט עם move מנפיש שינויים במיקום ובגודל שלו; מחרוזת כמו move="pill" מחברת אלמנטים עם אותה זהות בתוך ה־Scene, גם כשאחד מוסר ואחר מורכב.

ה־Scene מחזיק את ההזזה והקנה המידה של הפריסה של האלמנטים האלה, אז שימו את הטרנספורמציות שלכם על אלמנט מקונן.

מכין את הדוגמה…

נוכחות עם hook

useAnimatedPresence(visible, { enter, exit }) מחזיר { mounted, animatedValue } כשאתם מעדיפים לשלוט בהרכבה בעצמכם.

Toast.jsx
const { mounted, animatedValue } = useAnimatedPresence(open, {
  enter: (value) => spring(value, { toValue: 1 }),
  exit: (value) => timing(value, { toValue: 0, duration: 180 }),
});

return mounted ? <div style={{ opacity: animatedValue }}>Saved</div> : null;

מחוץ ל־React

createLayoutScene נותן את אותו תיאום של לכידה ו־commit לכל renderer או שינוי ידני ב־DOM.

outside-react.js
const scene = createLayoutScene({ tempo: { spring: { stiffness: 320, damping: 30 } } });
const card = scene.attach(element, { key: 'card' });

scene.capture(); // before the DOM changes
list.prepend(element); // any renderer or manual DOM work
scene.commit(); // animates from the captured rectangles

חיפוש

הקלידו כדי לחפש בתיעוד.