Przewodniki · 05

Wejście, wyjście i układ

Zatrzymuj odchodzące dzieci, aż ich ruch się skończy, i animuj zmiany pozycji i rozmiaru, także między komponentami.

Animated.Keep

Animated.Keep zatrzymuje bezpośrednie dzieci z key przez ich pozę depart. seed={false} sprawia, że dzieci obecne przy pierwszym renderze zaczynają od swojej pozy, wait opóźnia wchodzące dzieci do końca wyjść, a onDeparted uruchamia się po ostatnim.

Przygotowywanie przykładu…

Animated.Scene i move

Animated.Scene mierzy zatwierdzony układ. Element z move animuje zmiany swojej pozycji i rozmiaru; ciąg taki jak move="pill" łączy elementy o tej samej tożsamości wewnątrz Scene, nawet gdy jeden się odmontowuje, a drugi montuje.

Scene posiada przesunięcie i skalę układu tych elementów, więc własne transformacje umieszczaj na zagnieżdżonym elemencie.

Przygotowywanie przykładu…

Obecność z hookiem

useAnimatedPresence(visible, { enter, exit }) zwraca { mounted, animatedValue }, gdy wolisz samodzielnie sterować montowaniem.

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;

Poza React

createLayoutScene daje tę samą koordynację przechwytywania i zatwierdzania dowolnemu rendererowi lub ręcznej zmianie DOM.

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

Szukaj

Zacznij pisać, aby przeszukać dokumentację.