Guider · 05

Inn, ut og layout

Behold barn som forlater, til bevegelsen deres er ferdig, og animer endringer i posisjon og størrelse, også på tvers av komponenter.

Animated.Keep

Animated.Keep beholder direkte barn med key gjennom depart-posen deres. seed={false} får barn som finnes ved første rendering til å starte i posen sin, wait utsetter nye barn til utgangene er ferdige, og onDeparted kalles etter den siste.

Forbereder eksempelet …

Animated.Scene og move

Animated.Scene måler den committede layouten. Et element med move animerer endringer i posisjon og størrelse; en streng som move="pill" kobler sammen elementer med samme identitet inne i Scene, selv når ett avmonteres og et annet monteres.

Scene eier layoutforskyvningen og -skalaen til disse elementene, så legg dine egne transforms på et nøstet element.

Forbereder eksempelet …

Tilstedeværelse med en hook

useAnimatedPresence(visible, { enter, exit }) returnerer { mounted, animatedValue } når du heller vil styre monteringen selv.

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;

Utenfor React

createLayoutScene gir den samme koordineringen av opptak og commit til enhver renderer eller manuell DOM-endring.

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

Søk

Skriv for å søke i dokumentasjonen.