Я пытаюсь заставить мою панель вкладок исчезать при прокрутке вниз с анимацией. onScroll отправляет логическое значение, если последняя координата y больше текущей координаты y, прокручивая ее вверх и, в противном случае, прокручивая вниз. Если я продолжаю прокручивать, OnScroll все равно отправляет истинное значение моей функции, и анимация работает более одного раза. Как я могу отключить положение, чтобы сработало только toValue, и моя функция не будет запускаться снова и снова, в то время как возвращаемое логическое значение совпадает с onScroll.
function runTiming(value, dest) {
const clock = new Clock();
const state = {
finished: new Value(0),
position: new Value(0),
time: new Value(0),
frameTime: new Value(0),
};
const config = {
duration: 200,
toValue: new Value(0),
easing: Easing.inOut(Easing.cubic),
};
return block([
cond(clockRunning(clock), 0, [
set(state.finished, 0),
set(state.time, 0),
set(state.position, value),
set(state.frameTime, 0),
set(config.toValue, dest),
startClock(clock),
]),
timing(clock, state, config),
cond(state.finished, debug('stop clock', stopClock(clock))),
state.position,
]);
}