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();
}
}