Panduan · 05

Masuk, pergi, dan tata letak

Pertahankan children yang pergi sampai geraknya selesai, dan animasikan perubahan posisi dan ukuran, termasuk lintas komponen.

Animated.Keep

Animated.Keep mempertahankan children langsung yang ber-key melewati pose depart mereka. seed={false} membuat children yang ada pada render pertama mulai di pose-nya, wait menunda children yang masuk sampai kepergian selesai, dan onDeparted dipicu setelah yang terakhir.

Menyiapkan contoh…

Animated.Scene dan move

Animated.Scene mengukur tata letak yang sudah di-commit. Elemen dengan move menganimasikan perubahan posisi dan ukurannya; string seperti move="pill" menghubungkan elemen dengan identitas yang sama di dalam Scene, bahkan saat satu unmount dan yang lain mount.

Scene memiliki translate dan scale tata letak elemen-elemen itu, jadi taruh transform Anda sendiri pada elemen bersarang.

Menyiapkan contoh…

Kehadiran dengan hook

useAnimatedPresence(visible, { enter, exit }) mengembalikan { mounted, animatedValue } bila Anda lebih suka mengatur mount sendiri.

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;

Di luar React

createLayoutScene memberi koordinasi capture/commit yang sama ke renderer mana pun atau perubahan DOM manual.

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

Cari

Ketik untuk mencari dokumentasi.