Ghiduri · 05

Intrare, plecare și layout

Păstrați copiii care pleacă până se încheie mișcarea și animați schimbările de poziție și mărime, inclusiv între componente.

Animated.Keep

Animated.Keep păstrează copiii direcți cu key pe durata pozei lor depart. seed={false} face ca copiii prezenți la prima randare să pornească din poza lor, wait amână copiii care intră până se încheie plecările, iar onDeparted se declanșează după ultima.

Se pregătește exemplul…

Animated.Scene și move

Animated.Scene măsoară layoutul confirmat. Un element cu move își animează schimbările de poziție și mărime; un șir precum move="pill" leagă elementele cu aceeași identitate din Scene, chiar și când unul se demontează și altul se montează.

Scene deține translate și scale de layout ale acelor elemente, așa că puneți propriile transformări pe un element imbricat.

Se pregătește exemplul…

Prezență cu un hook

useAnimatedPresence(visible, { enter, exit }) returnează { mounted, animatedValue } când preferați să controlați singuri montarea.

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;

În afara React

createLayoutScene oferă aceeași coordonare captură/commit oricărui renderer sau unei schimbări DOM manuale.

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

Căutare

Tastați pentru a căuta în documentație.