Вызов функции после завершения Animate.spring
Я использую анимацию, чтобы всплывающее окно появлялось с правой стороны. Я использую следующий код для этого -
var toValue = 200;
if(this.state.fileMenu){
toValue = 0;
}
Animated.spring(
this.state.bounceValue,
{
toValue: toValue,
velocity: 3,
tension: 2,
friction: 5,
}
).start();
//I want to call a function here after the animation is finished.
this.setState({fileMenu: !this.state.fileMenu});
Код работает отлично, и выглядит великолепно, однако теперь я хочу вызывать функцию только тогда, когда анимация полностью завершена, и строго только один раз. Просто интересно, как я могу это сделать? Не уверен, что это действительно простой вопрос.
1 ответ
Решение
start
принимает функцию обратного вызова, функция выполняется один раз после завершения анимации:
Animated.spring(
this.state.bounceValue,
{
toValue: toValue,
velocity: 3,
tension: 2,
friction: 5,
}
).start(() => doSmething());