React Native Lottie:无法读取未定义的属性“play”

时间:2017-05-06 05:00:32

标签: react-native react-native-sound

我正在使用Lottie命令式API来显示循环动画。 除了使用React Native Sound的组件外,命令式API在我的所有组件上都能正常工作。我假设问题是两个库都使用.play()调用。这可能吗?

Lottie:this.animation.play(); React Native Sound:this.sound.play()

调用Lottie方法后,我收到错误信息:

  

无法读取未定义

的属性'play'

任何想法?

提前致谢。

1 个答案:

答案 0 :(得分:4)

我最终弄明白了。 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();
    }
  }