గైడ్‌లు · 05

ప్రవేశం, నిష్క్రమణ, లేఅవుట్

నిష్క్రమించే పిల్లలను వారి మోషన్ ముగిసే వరకు ఉంచండి; స్థానం, పరిమాణ మార్పులను, కాంపోనెంట్ల మధ్య కూడా, యానిమేట్ చేయండి.

Animated.Keep

Animated.Keep key ఉన్న ప్రత్యక్ష పిల్లలను వారి depart pose అంతటా ఉంచుతుంది. seed={false} మొదటి రెండర్‌లో ఉన్న పిల్లలను వారి pose-లో ప్రారంభించేలా చేస్తుంది, wait నిష్క్రమణలు ముగిసే వరకు ప్రవేశించే పిల్లలను ఆలస్యం చేస్తుంది, onDeparted చివరిదాని తర్వాత నడుస్తుంది.

ఉదాహరణ సిద్ధమవుతోంది…

Animated.Scene, move

Animated.Scene commit అయిన లేఅవుట్‌ను కొలుస్తుంది. move ఉన్న ఎలిమెంట్ తన స్థానం, పరిమాణ మార్పులను యానిమేట్ చేస్తుంది; move="pill" వంటి స్ట్రింగ్, ఒకటి అన్‌మౌంట్ అయి మరొకటి మౌంట్ అయినా, Scene లోపల అదే గుర్తింపు ఉన్న ఎలిమెంట్లను కలుపుతుంది.

ఆ ఎలిమెంట్ల లేఅవుట్ translate, scale-ను Scene నిర్వహిస్తుంది; అందువల్ల మీ సొంత transform-లను లోపలి ఎలిమెంట్‌పై పెట్టండి.

ఉదాహరణ సిద్ధమవుతోంది…

హుక్‌తో ఉనికి

మౌంటింగ్‌ను మీరే నియంత్రించాలనుకుంటే, 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 అదే capture/commit సమన్వయాన్ని ఏ రెండరర్‌కైనా, మాన్యువల్ 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

వెతకండి

డాక్యుమెంటేషన్‌లో వెతకడానికి టైప్ చేయండి.