Вызов функции после завершения 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());
Другие вопросы по тегам