React Native Lottie: Невозможно прочитать свойство play из неопределенного

Я использую императивный API Lottie для отображения цикличной анимации. Императивный API отлично работает на всех моих компонентах, кроме одного, который использует React Native Sound. Я предполагаю, что проблема в том, что обе библиотеки вызываются с .play(), Это возможно?

Лотти: this.animation.play();Реагировать родной звук: this.sound.play()

После вызова метода Лотти я получаю сообщение об ошибке:

Не удается прочитать свойство 'play' из неопределенного

Есть идеи?

Заранее спасибо.

1 ответ

Решение

В конце концов я понял это. React Native Sound, конечно, не был проблемой - он мог просто отсрочить инициализацию Lottie и, таким образом, animation был еще не определен, когда я позвонил.

Решение состоит в том, чтобы встроить таймер и уже было предложено в этой теме: https://github.com/airbnb/lottie-react-native/issues/21

  componentDidMount() {
      this.initAnimation();
  }

  initAnimation(){
    if (!this.animation){
      setTimeout(() => {
        this.initAnimation();
      }, 100);
    } else {
        this.animation.play();
    }
  }
Другие вопросы по тегам