2017-05-06 6 views
0

私はLottie imperative APIを使用してループアニメーションを表示しています。 命令型APIは、React Native Soundを使用するコンポーネントを除き、すべてのコンポーネントで正常に動作します。問題は、両方のライブラリが.play()で呼び出されていることです。これは可能ですか?React Native Lottie:未定義のプロパティ 'play'を読み取ることができません

Lottie:this.animation.play(); ネイティブサウンドリアクト:Lottieメソッドを呼び出した後this.sound.play()

を、私はエラーメッセージを取得しています:

未定義

のプロパティ '遊び' を読み込めません

アイデア?

ありがとうございます。

+0

あなたは、そのエラーを取得することでしょう... – Maxwelll

+0

あなたは正しいです。 React Native Soundは動作しますが、「Animation」はLottieとともにインポートされます。 – Jonas

答えて

2

私は結局それを理解しました。 React Native Soundはもちろん問題ではありませんでした。ちょうどLottieの初期化を遅らせたかもしれないので、animationは私が呼んだときまだ未定でした。

ソリューションはタイマーで構築することで、既にこのスレッドで提案された: `this.animation`または` this.sound`が未定義であればhttps://github.com/airbnb/lottie-react-native/issues/21

componentDidMount() { 
     this.initAnimation(); 
    } 

    initAnimation(){ 
    if (!this.animation){ 
     setTimeout(() => { 
     this.initAnimation(); 
     }, 100); 
    } else { 
     this.animation.play(); 
    } 
    } 
関連する問題