Я прикрепил закуску для большей ясности. Я пытаюсь добиться анимации, похожей на панель уведомлений iOS/Android.
Я успешно могу перетащить руль вниз, используя приведенный ниже код:
const translateY = cond(
eq(gestureState, State.END),
[
cond(
greaterThan(dragY, 0),
set(
dragY,
runTiming(clockY, dragY, velocityY, 400, gestureState, () => {
console.log('f1');
}),
),
set(
dragY,
runTiming(clockY, dragY, velocityY, 0, gestureState, () => {
console.log('f2');
}),
),
),
set(offsetY, dragY),
dragY,
],
cond(
eq(gestureState, State.BEGAN),
[stopClock(clockY), finalDragY],
finalDragY,
),
);
Но, пытаясь анимировать его снизу, он просто привязывает руль к низу, а затем анимирует вверх. При дальнейшей отладке я понял, что переведенная позиция сбрасывается, а затем анимируется.