2017-05-06 87 views
0

我正在使用Lottie命令式API來顯示循環動畫。 勢在必行的API在我的所有組件上都能正常工作,除了使用React Native Sound的組件。我假設問題是這兩個庫都被調用.play()。這可能嗎?React Native Lottie:無法讀取未定義的屬性'play'

洛蒂:this.animation.play(); 陣營機聲音:this.sound.play()

調用洛蒂方法後,我收到錯誤消息:

無法讀取的不確定

財產 '玩'

任何想法?

在此先感謝。

+0

你會得到這個錯誤,如果'this.animation'或'this.sound'是不確定的... – Maxwelll

+0

你是對的。 React Native Sound工作正常,'Animation'與Lottie一起導入。 – Jonas

回答

2

我終於明白了。 React Native聲音當然不是問題 - 它可能只是延遲了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(); 
    } 
    } 
相關問題