Рендеріть звичайні елементи, які рухаються до цілі, відповідають на жести й гарно йдуть.
Animated.<tag>
Animated.div, Animated.button, Animated.svg і будь-який інший тег HTML чи SVG рендерять звичайний елемент без обгортки. Їхній style приймає значення, а трансформації можуть бути масивами, як у React Native.
Скінченний рух transform і opacity на цих елементах, зокрема пружини, може відтворюватися браузером.
Підготовка прикладу…
seed, pose, poses і tempo
seed — перший кадр, pose — поточна ціль (об’єкт або назва запису в poses), а tempo — timing чи пружина. Зміна самого лише tempo не відтворює заново незмінну ціль.
respond зіставляє жестам тимчасові цілі: hover, focus, focusWithin, press, longPress, drag, inView та інші. Коли відповідь закінчується, елемент повертається до своєї пози звідти, де він є.
onResponse повідомляє про початок і кінець кожної відповіді, а respond={{ press: {} }} стежить за жестом, нічого не змінюючи візуально.
Підготовка прикладу…
Спільні налаштування через Animated.Scope
Animated.Scope передає назву пози, темп і типові налаштування анімації елементам Animated усередині себе.
Animated.wrap(Component) — createAnimatedComponent у React Native — дає змогу компоненту, що прокидає ref і зводиться до одного DOM-елемента, приймати ті самі props.