将原生解析Lottie文件反应到状态?

时间:2018-05-04 15:15:46

标签: animation react-native jsx lottie

我正在尝试将Lottie动画应用到我的应用中,我正在使用expo SDK, 所以我按照世博会的文件,

_loadAnimationAsync = async () => {
let result = await fetch(
  'https://cdn.rawgit.com/airbnb/lottie-react-native/635163550b9689529bfffb77e489e4174516f1c0/example/animations/Watermelon.json'
);

this.setState(
  { animation: JSON.parse(result._bodyText) },
  this._playAnimation
);

};

我收到了[Unhandled promise rejection:SyntaxError:JSON Parse error:Unexpected identifier“undefined”]。

结果._bodyText是空的还是未定义的?

1 个答案:

答案 0 :(得分:0)

我刚刚遇到同样的问题并修好了。

修改_loadAnimationAsync应该让它发挥作用。

_loadAnimationAsync = async () => {
let result = await fetch(
  'https://cdn.rawgit.com/airbnb/lottie-react-native/635163550b9689529bfffb77e489e4174516f1c0/example/animations/Watermelon.json'
)
  .then(data => {
    return data.json();
  })
  .catch(error => {
    console.error(error);
  });
this.setState({ animation: result }, this._playAnimation);
};

如果您有兴趣,我也会为这个问题启动一个公关。 here