Ръководства · 05

Влизане, излизане и оформление

Задържайте излизащите деца, докато движението им приключи, и анимирайте промените в позиция и размер, включително между компоненти.

Animated.Keep

Animated.Keep задържа преките деца с key през позата им depart. seed={false} кара децата, налични при първия рендер, да започнат от позата си, wait отлага влизащите деца, докато излизанията приключат, а onDeparted се задейства след последното.

Подготовка на примера…

Animated.Scene и move

Animated.Scene измерва потвърденото оформление. Елемент с move анимира промените в позицията и размера си; низ като move="pill" свързва елементи с една и съща идентичност в Scene, дори когато единият се демонтира, а друг се монтира.

Scene притежава отместването и мащаба на оформлението на тези елементи, затова слагайте собствените си трансформации на вложен елемент.

Подготовка на примера…

Присъствие с hook

useAnimatedPresence(visible, { enter, exit }) връща { mounted, animatedValue }, когато предпочитате сами да управлявате монтирането.

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;

Извън React

createLayoutScene дава същата координация на заснемане и commit на всеки рендерер или ръчна промяна на 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

Търсене

Пишете, за да търсите в документацията.