গাইড · 05

প্রবেশ, প্রস্থান আর লেআউট

চলে যাওয়া children-কে তাদের গতি শেষ না হওয়া পর্যন্ত রাখুন, আর অবস্থান ও আকারের পরিবর্তন অ্যানিমেট করুন, কম্পোনেন্ট পেরিয়েও।

Animated.Keep

Animated.Keep key-যুক্ত সরাসরি children-কে তাদের depart pose পর্যন্ত রাখে। seed={false} প্রথম রেন্ডারে থাকা children-কে তাদের pose থেকে শুরু করায়, wait প্রস্থান শেষ না হওয়া পর্যন্ত আসা children-কে আটকে রাখে, আর onDeparted শেষটির পরে চলে।

উদাহরণ প্রস্তুত হচ্ছে…

Animated.Scene আর move

Animated.Scene commit হওয়া লেআউট মাপে। move-যুক্ত এলিমেন্ট নিজের অবস্থান আর আকারের পরিবর্তন অ্যানিমেট করে; move="pill"-এর মতো স্ট্রিং Scene-এর ভেতরে একই পরিচয়ের এলিমেন্টগুলো জোড়ে, একটি আনমাউন্ট আর অন্যটি মাউন্ট হলেও।

Scene ওই এলিমেন্টগুলোর লেআউট translate আর scale-এর মালিক, তাই নিজের 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 যেকোনো রেন্ডারার বা হাতে করা DOM পরিবর্তনকে একই ক্যাপচার/commit সমন্বয় দেয়।

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

খুঁজুন

ডকুমেন্টেশনে খুঁজতে টাইপ করুন।