Guides · 05

Ind, ud og layout

Behold børn, der forlader, indtil deres bevægelse slutter, og animér ændringer i position og størrelse, også på tværs af komponenter.

Animated.Keep

Animated.Keep beholder direkte børn med key gennem deres depart-pose. seed={false} får børn, der findes ved første rendering, til at starte i deres pose, wait udskyder nye børn, til udgangene er færdige, og onDeparted kaldes efter den sidste.

Forbereder eksemplet…

Animated.Scene og move

Animated.Scene måler det committede layout. Et element med move animerer ændringer i sin position og størrelse; en streng som move="pill" forbinder elementer med samme identitet inde i Scene, selv når ét afmonteres og et andet monteres.

Scene ejer layoutforskydningen og -skalaen for de elementer, så læg dine egne transforms på et indlejret element.

Forbereder eksemplet…

Tilstedeværelse med en hook

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

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;

Uden for React

createLayoutScene giver den samme koordinering af capture og commit til enhver renderer eller manuel DOM-ændring.

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øg

Skriv for at søge i dokumentationen.