zoukankan      html  css  js  c++  java
  • React Native 插件系列之lottie-react-native

    1、背景

      首先,什么是lottie?

      Lottie是Airbnb开源的一个支持 Android、iOS 以及 ReactNative,利用json文件的方式快速实现动画效果的库。

      其次,为什么需要lottie?

      因为我的APP想要酷炫一点呀,其实就想加一个首页动画,不至于太朴素和单调。

    2、安装

     ios安装方式:

    npm i --save lottie-react-native
    
    react-native link lottie-ios
    
    react-native link lottie-react-native
    

    3、代码示例

      

    import React from 'react';
    import { Animated } from 'react-native';
    import Animation from 'lottie-react-native';
    
    export default class BasicExample extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          progress: new Animated.Value(0),
        };
      }
    
      componentDidMount() {
        Animated.timing(this.state.progress, {
          toValue: 1,
          duration: 5000,
        }).start();
      }
    
      render() {
        return (
          <Animation
            style={{
               200,
              height: 200,
            }}
            source={require('../path/to/animation.json')}
            progress={this.state.progress}
          />
        );
      }
    }
    

    4,遇到的问题以及解决方案

      1,报错 Warning: Failed prop type: undefined is not an object (evaluating  '_reactNative.ViewPropTypes,style')

      我当时用的React-Native版本是0.42.3 后来升级到0.47.0,解决这个问题

      升级rn后,又报如下错误:

      

      这是因为升级版本后,脚本换了,

      

      但是后来又报错了,还是起不来,

      

      这是因为react,react-native,react-dom安装有问题,删除node_modules。

      react和react-dom我安装的是16.0.0-alpha.12版本

       

      在模拟器上跑起来没问题,但是打包报错:

      

      解决如下,在LottieReactNative中配置如下:

      

  • 相关阅读:
    python模块之xlrd,xlwt,读写execl(xls,xlsx)
    Gulp的常见用法
    Linux常用操作及命令大全
    解决谷歌云 ssh 登录权限被拒的问题 google cloud (publickey,gssapi-keyex,gssapi-with-mic)
    创建web服务器
    网站与服务器的基本知识
    flex布局与移动页面适应
    史上最全的maven的pom.xml文件详解
    linux maven安装
    在 Linux 下搭建 Git 服务器(yum安装)
  • 原文地址:https://www.cnblogs.com/yrcn/p/7429097.html
Copyright © 2011-2022 走看看