react-native-swiper 发帖时版本为1.5.14

若官方未更新可能会报下方错误
viewPagerAndroid has benn removed from React Native.it can now be installed and imported from "react-native-viewpager" instend of "react-native".see ....
原因大致是 ViewPagerAndroid 已从react-native 核心库中移除,swiper没改引入方法,所以报错
查看react-native-swiper 最新维护代码为4个月前(现2019/11/4)
解决

先安装模块

npm i @react-native-community/viewpager --save

再到此目录下打开文件

node_modules\react-native-swiper\src\index.js

将引入方式删除

import {
  Text,
  View,
  ViewPropTypes,
  ScrollView,
  Dimensions,
  TouchableOpacity,
  // ViewPagerAndroid, 将这一行删除
  Platform,
  ActivityIndicator
} from 'react-native'
import ViewPager from "@react-native-community/viewpager"; //再以此方式引入

修改标签

<ViewPager  ref={this.refScrollView} //大概在651行,将ViewPagerAndroid改为ViewPager
        {...this.props}
        initialPage={this.props.loop ? this.state.index + 1 : this.state.index}
        onPageScrollStateChanged={this.onPageScrollStateChanged}
        onPageSelected={this.onScrollEnd}
        key={pages.length}
        style={[styles.wrapperAndroid, this.props.style]}>
        {pages}
</ViewPager>

重新 run-android

若npm start 莫名其妙报错把@react-native-community/viewpager 重新安装

但是后期打包时,@react-native-community/viewpager 会报错原因可能是引用旧api

所以当前应安装react-native-swiper夜间版,此版本未引入ViewPagerAndroid,不用自己改
跟原来版本稍有出入,至少不会错

npm i --save react-native-swiper@nightly
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐