我正在使用Lottie命令式API来显示循环动画。
除了使用React Native Sound的组件外,命令式API在我的所有组件上都能正常工作。我假设问题是两个库都使用.play()
调用。这可能吗?
Lottie:this.animation.play();
React Native Sound:this.sound.play()
调用Lottie方法后,我收到错误信息:
无法读取未定义
的属性'play'
任何想法?
提前致谢。
答案 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();
}
}